UIViewController 视图控制器
抽象类:不能直接通过创建使用对象,需要定义该类的子类,然后再创建对象使用
创建VC对象
UIViewController*vc = [[UIViewControlleralloc]init];
创建对象
RootViewController*rootVC = [[RootViewControlleralloc]init];
设置根视图(应用创建好之后 window上放置的第一个页面视图)
self.window.rootViewController= rootVC;
内存管理
[rootVCrelease];
视图写在viewDidLoad中
VC中 自带一个view 用于铺设视图 默认颜色为透明
UIImageView图片
相对路径 修改后仍然可以正常显示
绝对路径 如果文件位置修改 就找不到了
收获路径(动态变化的绝对路径)
参数1:文件名
参数2:文件后缀
NSString*path = [[NSBundlemainBundle]pathForResource:@"color"ofType:@"png"];
imgView.image= [UIImageimageWithContentsOfFile:path];
圆角
imgView.layer.cornerRadius= imgView.frame.size.width/2;
根据边界把多余部分切掉
imgView.clipsToBounds=YES;
导航控制器
导航栏设置:controller(栏)/item(栏上的元素)
导航栏显示/隐藏
(1)self.navigationController.navigationBarHidden=NO;
(2)self.navigationController.navigationBar.hidden=YES;
栏样式
self.navigationController.navigationBar.barStyle=UIBarStyleBlack;
半透明效果
开始效果时屏幕左上角为坐标原点
关闭时导航栏的左下角为坐标原点
self.navigationController.navigationBar.translucent=YES;
栏背景颜色
self.navigationController.navigationBar.backgroundColor= [UIColoryellowColor];
栏颜色
self.navigationController.navigationBar.barTintColor= [UIColorgrayColor];
栏标题
(1)self.title=@"这是一个标题";
(2)self.navigationItem.title = @"这是一个猴赛雷的标题";
分段
UISegmentedControl*seg = [[[UISegmentedControlalloc]initWithItems:@[@"消息",@"电话"]]autorelease];
seg.frame=CGRectMake(0,0,100,30);
栏标题视图
self.navigationItem.titleView= seg;
栏左侧按钮
self.navigationItem.leftBarButtonItem= [[[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemSearchtarget:selfaction:@selector(left:)]autorelease];
栏右侧按钮
系统按钮样式
UIBarButtonItem*b1 = [[[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemTrashtarget:selfaction:@selector(right1)]autorelease];
自定义按钮图片
UIBarButtonItem*b2 = [[[UIBarButtonItemalloc]initWithImage:[UIImageimageNamed:@"dianzan"]style:UIBarButtonItemStylePlaintarget:selfaction:@selector(right2)]autorelease];
self.navigationItem.rightBarButtonItems=@[b1, b2];
修改导航栏上内容的颜色
self.navigationController.navigationBar.tintColor= [UIColorwhiteColor];
跳转页面
响应事件
页面间传值
通过代理实现传值
#warning协议1:声明协议(定义一个带参数的方法)
#warning协议2:定义代理人属性
#warning协议3:返回上一页之前让代理人调用协议方法
#warning协议4.签协议
#warning协议5:设置代理人
#warning协议6:实现协议方法
#warning属性1:在第二页声明一个属性用来保存数据
#warning属性2:在push页面之前传值(创建对象之后push之前)
#warning属性3:通过属性给当前页内容赋值