zoukankan      html  css  js  c++  java
  • iOS添加另一个控制器的时候要注意啊

    ios的父控制器控制器和子控制器之间的注意点:

    " >> #warning 需要把新创建出来的控制器添加成子控制器 . 不然子控制器里面的子控件无法响应点击事件 "

    一个控制器(UIViewController)里面在点击导航栏右上角按钮的时候要以动画形式切换另一个控制器(LCMapViewController)  

      当时代码只是把新创建出来的控制器View添加到了(UIViewController)控制器上 并没有让创建的新控制器(LCMapViewController) 添加成子控制器

    导致在 控制器(LCMapViewController)里面的创建的子控件(按钮(UIButton))无法实现点击事件  

    那么问题就来了: 在这个控制器(LCMapViewController)里面的子控件(按钮(也尝试着在UILabel上添加手势也无济于事))....代码如下:

    // ------------------ ------------------ ------------------ ------------------ ------------------

    UITableView *nearTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, LCScreenW, LCScreenH - 64 )];

        nearTableView.delegate   = self;

        nearTableView.dataSource = self;

        nearTableView.separatorStyle = UITableViewCellSeparatorStyleNone;

        self.nearTableView = nearTableView;

       // [self.view addSubview:nearTableView];

     // 在UIViewController控制器上插入一个nearTableView

        [self.view insertSubview:nearTableView atIndex:1];

        LCMapViewController *mapViewController = [[LCMapViewController alloc] init];

     // 在UIViewController控制器上插入另一个(LCMapViewController)控制器的View

        [self.view insertSubview:mapViewController.view atIndex:0];

    // ------------------ ------------------ ------------------ ------------------ ------------------

    后来解决这个问题就一句代码搞定了 >> 需要成为它的子控件才能响应事件  :

    - (void)setupTableView

    {

        

        UITableView *nearTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, LCScreenW, LCScreenH - 64 )];

        nearTableView.tag = 110;

        nearTableView.delegate   = self;

        nearTableView.dataSource = self;

        nearTableView.separatorStyle = UITableViewCellSeparatorStyleNone;

        self.nearTableView = nearTableView;

     // 在UIViewController控制器上插入一个nearTableView

        [self.view insertSubview:nearTableView atIndex:1];

     

        LCMapViewController *mapViewController = [[LCMapViewController alloc] init];

    #warning 需要把新创建出来的控制器添加成子控制器 . 不然控制器里面的子控制器无法响应点击事件

        [self addChildViewController:mapViewController];

     // 在UIViewController控制器上插入另一个(LCMapViewController)控制器的View

        [self.view insertSubview:mapViewController.view atIndex:0];  

    }

    【微分享】:每一个人都在合适的位置,向同一个方向发挥自己的力量,展现出的美会震惊所有人!这--就是团队

  • 相关阅读:
    学习笔记
    聊聊字节序
    SPDK发送和接收连接请求的处理
    企业设备维护——不仅仅是解决问题
    怎样快速找到某一行代码的git提交记录
    生产环境中利用软链接避免"rm -rf /"的方法
    程序员五年小结
    Django Model 数据库增删改查
    python中字符串列表字典常用方法
    python编辑配置
  • 原文地址:https://www.cnblogs.com/supersr/p/5383019.html
Copyright © 2011-2022 走看看