View 的创建

2016-06-20  本文已影响42人  LuckTime

当 创建一个字控件View ,并且子空间view显示view 超过自身的view时。可以将子空间的View 添加到父控件
1.创建父控件变量 supView

  1. 【supView addSubView View】;

在自定义View 时,不要把全部东西都写在init内部。。
特别是代理和与父控件有关系的数据传递时,要特别注意这一点。。

比如: LeftNavView *leftNav = [[LeftNavView alloc]init];

leftNav.owner = self;
leftNav.supView = self.navigationController.view;
[leftNav defauleSetting];

其中 初始化 leftNavView 时,如果将

import "LeftNavView.m"

-(instancetype)init
{
if (self = [super init]) {
_coverView = [[CoverView alloc]initWithViewCellHeight:ScreenHight num:1];
_coverView.hidden = NO;

[_supView  addSubview:_coverView];
self.delegate = self;
self.dataSource = self;

[self CreatSwipe];
[self CreatHeard]
}
return  self;

}

这样写,在视图初始化的时候,就会将代码全部加载进去。造成 leftNav.supView = self.navigationController.view; 这句代码不会被执行,因此。所有与supview相关的代码也无意义。

应该这样写:
在主控制器 : LeftNavView *leftNav = [[LeftNavView alloc]init];

leftNav.owner = self;
leftNav.supView = self.navigationController.view;
[leftNav defauleSetting];

而在次级视图上声明一个方法
-(void)defauleSetting;
在这个方法,完成view内容的添加。。

上一篇 下一篇

猜你喜欢

热点阅读