UIViewController
来源:互联网 发布:mac上的翻墙工具 编辑:程序博客网 时间:2024/06/07 07:03
视图控制器:UIViewController 注意:视图控制器并不是视图,只是用来管理视图的,视图控制器自带一个与当前屏幕大小一样的view,如果要添加子视图,则需要添加到视图控制器view上显示:视图控制器自带的View默认是透明的
#pragma mark - 视图控制器的几个方法 -
//视图控制器的指定的初始化方法; (在创建该视图控制器的对象时,无论调用哪个初始化方法,该方法都会被执行;)
- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
NSLog(@"视图控制器的初始化方法!");
}
return self;
}
//视图控制器加载视图的方法,(也就是说视图控制器加载根视图view(自带的view)的方法)
- (void)loadView{
//调用系统加载视图的方法,加载视图控制器自带的View
[super loadView];
NSLog(@"视图控制器加载视图:%s,%d",__FUNCTION__,__LINE__);
}
//视图控制器加载视图完成时触发该方法;(也就是说当前视图控制器的自带根视图view对象已经加载完成(自带view创建对象完成之后调用的方法))
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"视图控制器加载视图完成:%s,%d",__FUNCTION__,__LINE__);
}
系统自带提示框
//创建提示框对象
// UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"登录" message:@"是否登录?" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:@"取消", nil];
// //show 将提示框提到视图的最上层xianshi
// [alertView show];
// //释放所有权
// [alertView release];
//多个按钮时
UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"小东" message:@"要约吗" delegate:nil cancelButtonTitle:@"可以" otherButtonTitles:@"canrenjujue",@"等你有",@"不要啊", nil];
[alertView show];
[alertView release];
#pragma mark - 视图控制器生命周期有关的几个方法 于是视图显示与消失有关
//视图(视图控制器自带的根视图view)将要显示时触发此方法;
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
NSLog(@"试图将要显示%s,%d",__FUNCTION__,__LINE__);
}
//试图已经显示时触发的方法
- (void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
NSLog(@"视图已经显示%s,%d",__FUNCTION__,__LINE__);
}
//视图将要消失时触发的方法
- (void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
NSLog(@"视图将要消失%s,%d",__FUNCTION__,__LINE__);
}
//视图已经消失时触发的方法
- (void)viewDidDisappear:(BOOL)animated{
[super viewDidDisappear:animated];
NSLog(@"视图已经消失%s,%d",__FUNCTION__,__LINE__);
}
//当视图控制器收到内存警告时,会触发此方法
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
NSLog(@"你的内存太大!");
//看是否可以安全的移除视图控制器
//[self isViewLoaded] 看视图控制器是否已经加载根视图view; !self.view.window没有在window上显示
if([self isViewLoaded/*是否加载*/] && !self.view.window/*有没有在window上显示*/){
//安全移除视图
self.view = nil;
}
// Dispose of any resources that can be recreated.
}
#pragma mark - 屏幕旋转的几个方法
//设置当前屏幕发生旋转时 当前界面是否都支持旋转
- (BOOL)shouldAutorotate{
return YES;
}
//设置当前屏幕旋转时,界面支持的旋转方向;该方法支持界面旋转的方向依赖于当前设备支持旋转的方向
- (NSUInteger)supportedInterfaceOrientations{
//return UIInterfaceOrientationMaskAll;支持所有的方向
return UIInterfaceOrientationMaskAllButUpsideDown; //不支持倒立
//return UIInterfaceOrientationMaskLandscapeLeft; 支持左旋转 左横屏
//return UIInterfaceOrientationMaskLandscapeRight;//支持右旋转 右横屏
}
//ios8之后系统才会调用的方法,当屏幕发生旋转时就会调用此方法,可以得到当前屏幕尺寸
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator{
//得到当前屏幕尺寸
NSLog(@"size = %@",NSStringFromCGSize(size));
}
- UIViewController
- UIViewController
- UIViewController
- UIViewController
- UIViewController
- UIViewController
- UIViewController
- UIViewController
- UIViewController
- UIViewController
- UIViewController
- UIViewController
- UIViewController
- UIViewController
- UIViewController
- UIViewController
- UIViewController
- UIViewController
- mavlink解析
- 从一个xib文件中加载另一个xib文件
- 纯代码编写UITableView和UICollectionView中的坑
- 2、BI开发环境
- IOS中获取各个文件的目录路径的方法和NSFileManager类
- UIViewController
- Ubuntu系统下bash和dash的区别(修改默认sh为bash)
- JS技巧总结
- matlab 计算大型距离方阵,distance matrix
- 文章标题 关于MySQL卸载几点注意事项
- 如何对待Release与Debug运行结果不一致
- lwip协议栈里面回调函数的使用
- IOS根据路径读取文件大小
- 3.1、BI之SSIS之基础包的创建