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];  

    }

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

  • 相关阅读:
    国内CAD二次开发关注度比较
    用Java做UG NX 二次开发
    【纪念帖】开通我的第二技术博客
    UG NXOpen for C++ (NX6) CHM帮助文件
    UG CAM 二次开发 UF_SETUP_generate_program详解
    解决QWidget: Must construct a QApplication before a QPaintDevice
    建模语言: Not UML but Generative Modeling Language
    从32bit迁移到64bit
    从32bit迁移到64bit[3]
    [Revisit.SolidMCP] 更广泛使用pimpl idiom
  • 原文地址:https://www.cnblogs.com/supersr/p/5383019.html
Copyright © 2011-2022 走看看