UIAlertView(警告框)
// UIAlertView
// UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"1" message:@"2" delegate:self cancelButtonTitle:@"3" otherButtonTitles:@"4", nil];
// // 给提示窗口加上输入框
// alert.alertViewStyle = UIAlertViewStyleSecureTextInput;
// // 点击按钮实现方法,协议方法
//
// [alert show];
// [alert release];
LTView(相当于封装了一个简单的视图)
UIViewController(负责监控应用的状态)
Xcode7.0之后,所有的工程必须指定视图控制器,所以我们创建了一个viewController的子类,然后把这个子类创建的对象指定为根视图控制器,这个类不能向button一样直接取用,如果要用只能创建它的子类取使用
RootViewController *rootVc = [[RootViewController alloc] init];
// 给window指定跟视图控制器
self.window.rootViewController = rootVc;
[rootVc release];
view的执行过程
1.初始化方法,这个方法系统会自己调用,是它自己的初始化方法,一般在这个方法里对一些容器的属性进行初始化(数组需要初始化才能加元素)
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
NSLog(@"%s", __FUNCTION__);
// 容器属性在使用前必须要进行初始化
self.arr = [NSMutableArray array];
}
return self;
}
2.loadView如果重写父类的方法,如果要保证原功能不变,需要在方法里先通过关键字super取调用父类的方法,这样父类的方法就会实现对应的功能.只需要在子类的方法写额外i即可(作用就是对self.view进行加载,很少重写,因为会影响)
- (void)loadView{
[super loadView];
// 获取方法名
NSLog(@"%s", __FUNCTION__);
}
3.viewDidLoad执行到这个方法的时候,self.view已经加载好了,我们可以在这个方法里进行视图的创建,然后把视图放到self.view上去显示,视图控制器会自动创建一个透明的view,一般来讲需要先给self.view设置一个白色的背景色(一般代码都写在视图控制器内)
4.viewWillAppear执行到这个方法的时候,viewDidLoad方法已经结束,视图已经创建好了,将要出现在屏幕上(第二页加载动画的时候在这里开始动画)
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
NSLog(@"%s", __FUNCTION__);
// 4.执行到这个方法的时候,viewDidLoad方法已经执行结束,视图已经创建好了,将要出现在屏幕上
// 常用
}
5.viewDidAppear视图已经出现
- (void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
NSLog(@"%s", __FUNCTION__);
// 5.视图已经出现
}
6.viewWillDisappear
- (void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
NSLog(@"%s", __FUNCTION__);
}
7.viewDidDisappear
- (void)viewDidDisappear:(BOOL)animated{
[super viewDidDisappear:animated];
NSLog(@"%s", __FUNCTION__);
}
模态跳转
1.先创建一个下一页的对象 2.设置跳转的动画效果(setModal) 3.跳转(present) 4.内存
//- (void)click:(UIButton *)button{
// NSLog(@"1111");
// // 1.先创建一个下一页的对象
// SecondViewController *secView = [[SecondViewController alloc] init];
// // 2.设置跳转的动画效果(模态跳转)
// [secView setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
// // 3.跳转
// [self presentViewController:secView animated:YES completion:^{
//
// }];
// // 4.内存
// [secView release];
2.第二页(dismiss)
[self dismissViewControllerAnimated:YES completion:^{
}];