02 - 載入XIB(ViewController)後 View的子控制元件無響應中
阿新 • • 發佈:2019-01-08
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
`