版权声明:本文为博主原创文章,未经博主允许不得转载。 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
`