经验之谈—控制器的view的显示
来源:互联网 发布:学校网络结构拓扑图 编辑:程序博客网 时间:2024/06/09 11:12
- 开发中,我们经常需要将一个控制器的view添加到另一个控制器的view上,这种效果是我们期望看到的,但是里边隐藏着一些细节,不注意的话,可能会达不到我们想到的效果。
- 先举个例子给大家看一下:
我们创建一个ZYTestViewController : UITableViewController
然后我们稍微实现以下tableview的数据源方法
#pragma mark - Table view data source - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return 10;} - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *ID = @"cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID]; if (!cell) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:ID]; } cell.textLabel.text = @"test"; return cell;}
就先别搞那么复杂先,就这样完成了一个UITableViewController的创建
- 接下来我们把这个控制器的view添加到我们的主控制中(UIViewController)
- (void)viewDidLoad{ [super viewDidLoad]; - (void)viewDidLoad { [super viewDidLoad]; ZYTestViewController *testVc = [[ZYTestViewController alloc]init]; [self.view addSubview:testVc.view]; testVc.view.frame = CGRectMake(100, 100, 200, 300);} }
然后我们看一下,是否有我们想要的效果:
我们是确实能将这个tableView添加上去了,但是出现了不能显示数据的问题。
- 原因在于:我们的ZYTestViewController控制器死了,因为是一个局部变量,所以导致我们的数据不能显示。造成一个控制的view还在,但是这个view的控制器死了,这个非常危险的一件事情。
- 所以我们就急迫的需要保住这个控制器,那么我们就需要对这个控制器进行强引用。
@property(nonatomic,strong)ZYTestViewController *testView;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; ZYTestViewController *testVc = [[ZYTestViewController alloc]init]; [self.view addSubview:testVc.view]; testVc.view.frame = CGRectMake(100, 100, 200, 300); self.testView = testVc;}
我们再看一下效果:
只有这样才能显示我们的Cell的数据
所以得出一个结论:只要view在,view所在的控制器必须得在,这样才能保证view内部的数据和业务逻辑正常
1 0
- 经验之谈—控制器的view的显示
- 控制器View的显示
- 经验之谈—父子控制器(验证苹果的一句话)
- 52-控制器的View
- 获取view的控制器
- 控制器View的生命周期
- 控制器view的生命周期
- 控制器添加控制器的view的方法
- 控制器的View的创建
- 控制器的view的创建
- 加载控制器View的方式以及控制器View的生命周期
- 控制器View的创建顺序
- 控制器View的生命周期图解
- 控制器view的生命周期方法
- 获取view所在的控制器
- 控制器View的加载 && 创建
- iOS 控制器View的生命周期
- 经验之谈—坐标系的转换
- MySQL执行外部sql脚本文件的命令
- Java开发中的23种设计模式详解(转)
- 关于ActionBar的几个小细节的解决方案
- Zookeeper原理
- rqnoj 2 开心的金明
- 经验之谈—控制器的view的显示
- foundation的使用——NSString
- 【dp】Super Jumping! Jumping! Jumping!
- springmvc 返回 json数据
- Sybase-client 客户端使用步骤
- 安卓开发中SimpleAdapter的用法
- ios 单例写法
- 网页性能管理详解:浅谈chrome-Timeline及window.requestAnimationFrame()方法
- 用CNZZ实现Html5中的事件统计