UIViewController 视图控制器

作用:

创建和管理视图。 管理视图上显示的数据。 设备方向变化,调整视图大小以适应屏幕。 负责视图和模型之间的数据及请示的传递。

当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序:1、 alloc创建对象,分配空间2、init (initWithNibName) 初始化对象,初始化数据3、loadView从nib载入视图 ,,通常这一步不需要去干涉。除非你没有使用xib文件创建视图4、viewDidLoad载入完成,可以进行自定义数据以及动态创建其他控件5、viewWillAppear视图将出现在屏幕之前,马上这个视图就会被展现在屏幕上了6、viewDidAppear视图已在屏幕上渲染完成当一个视图被移除屏幕并且销毁的时候的执行顺序,这个顺序差不多和上面的相反1、viewWillDisappear 视图将被从屏幕上移除之前执行2、viewDidDisappea 视图已经被从屏幕上移除,用户看不到这个视图了3、dealloc视图被销毁,此处需要对你在init和viewDidLoad中创建的对象进行释放1.创建一个根视图原代码: 创建一个属性:@property(nonatomic ,retain)RootViewController *rootVC; 1.创建一个rootViewController对象_rootVC =[[RootViewController alloc] init]; 2.给indow设置根视图控制器_window.rootViewController = _rootVC;[_rootVC release];2.创建一个RootViewController的类,引入头文件3.ViewController的初始化

vc的初始化方法,这个方法一般自己就会调用了,不需要我们再额外的去调用,会初始化一些容器,比如数组,字典

原代码:-(instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{self =[super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];if (self) {self.arr = [NSMutableArray array];}//打印方法名NSLog(@”%s”, __FUNCTION__);return self;}4. 第一次使用view属性时候使用 ,创建view原代码:-(void)loadView{// super调用父类[super loadView];NSLog(@”%s”, __FUNCTION__);// self.view 的加载}

如果想重写父类的方法,首先要先用super去调用父类的方法,这样可以保证原功能不变,然后在方法里再写新的功能

5.视图的创建和辅设都在viewdidload方法里进行原代码:- (void)viewDidLoad {[super viewDidLoad];=[UIColor yellowColor];NSLog(@”%s”, __FUNCTION__);for (int i =1; i<4; i++) {UITextField *textFieldi =[[UITextField alloc] initWithFrame:CGRectMake(100, 100+100*i, 150, 40)];textFieldi.delegate =self;textFieldi.layer.borderWidth =2;textFieldi.layer.cornerRadius =10;[self.view addSubview:textFieldi];[textFieldi release];}// 辅一个buttonUIButton *button =[UIButton buttonWithType:UIButtonTypeSystem];button.frame =CGRectMake(100, 500, 150, 40);[button setTitle:@”下一页” forState:UIControlStateNormal];[button setTintColor:[UIColor blackColor]];[self.view addSubview:button];[button addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];button.layer.borderWidth =2;button.layer.cornerRadius =10; }6. 视图将要出现

原代码:

-(void)viewWillAppear:(BOOL)animated{[super viewWillAppear:animated];NSLog(@”%s”, __FUNCTION__);}7.试图将要消失

原代码:

-(void)viewWillDisappear:(BOOL)animated{[super viewWillDisappear:animated];NSLog(@”%s”, __FUNCTION__);}8.视图已经消失

原代码:

-(void)viewDidDisappear:(BOOL)animated{[super viewDidDisappear:animated];NSLog(@”%s”, __FUNCTION__);}

即使是不成熟的尝试,也胜于胎死腹中的策略。

UIViewController 视图控制器

相关文章:

你感兴趣的文章:

标签云: