02 - 加载XIB(ViewController)后 View的子控件无响应中

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Gilgamesho/article/details/50962029

02 - 加载XIB(ViewController)后 View的子控件无响应中

问题描述

  • 前提 : 自定义XIB:包含若干个Button
  • 理想现象 : 用Button响应相关动作
  • 报错reason : 无报错
  • 解决方式 : 强引用XIB中的Controller / 将XIB中的Controller添加为当前控制器的自控制器

创建部分Code:

    BLColorSelectView * test = [[BLColorSelectView alloc]init]; //创建XIB文件
    test.view.frame = self.view.frame;
    [self.view addSubview:test.view];

分析:

XIB中的控制器因为没被强引用,创建后即dealloc,当中的子控件操作无法响应
XIB中的控制器中的View被self.view引用,所以视图正常

修改方法:

  • 添加为当前控制器子控制器
    [self addChildViewController:test]; //添加为当前控制器子控制器
  • 创建属性强引用XIB中的Controller
    @property(nonatomic,strong) BLColorSelectView * test;    //创建属性强引用XIB中的Controller
    self.test = test

`

猜你喜欢

转载自blog.csdn.net/Gilgamesho/article/details/50962029
02
今日推荐