1.多VC之间的切换
(多个界面之间的切换)
方式一
两个普通的控制器之间的推出和返回
推出时:使用控制器的 presentViewController 方法, 指定要推出的是谁
返回时:使用控制器的 dismissViewController 方法, 不用指定返回到哪,系统记录着,所以从哪里来的就会返回到哪里去

方式二
使用UINavigationController 导航控制器管理它下面的子控制器,由这个管理者负责控制推出显示的新VC,以及返回到前面的VC
推出新的控制器 使用导航控制器的 pushViewController 方法
返回前面的控制器 使用导航控制器的 popViewController 方法
//创建一个导航控制器
UINavigationController *navi = [[UINavigationController alloc]initWithRootViewController:[[MyViewController alloc]init]];
//设置导航控制器 为 window 的rootViewController
self.window.rootViewController = navi;
[self.window makeKeyAndVisible];
MyViewController2 *myVc2 = [[MyViewController2 alloc]init];
//navigationController 该属性可以获取到管理当前控制器的导航控制器实例
[self.navigationController pushViewController:myVc2 animated:YES];
2.UINavigationController 导航控制器
配置导航栏 (NavigationBar)
高度:算上状态栏 (Status Bar 本身高20个点) 高64个点
内容:通过navigationItem属性完成配置
中:title/titleView
左:leftBarButtonItem/s
右:rightBarButtonItem/s
//隐藏底部 toolBar
self.navigationController.toolbarHidden = YES;
//创建一个的 barButtonItem 要求 是 设置title
UIBarButtonItem *rightItem1 = [[UIBarButtonItem alloc]initWithTitle:@"按键" style:UIBarButtonItemStylePlain target:self action:@selector(click:)];
//创建一个的 barButtonItem 要求 是系统的 Add 样式
UIBarButtonItem *rightItem2 = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:nil action:nil];
// self.navigationItem.rightBarButtonItem = rightItem1;
self.navigationItem.rightBarButtonItems = @[rightItem1,rightItem2];
//创建一个不受tintColor影响的图片
UIImage *leftImage = [[UIImage imageNamed:@"lxh_xiaohaha"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UIBarButtonItem *leftItem1 = [[UIBarButtonItem alloc]initWithImage:leftImage style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.leftBarButtonItem = leftItem1;
self.navigationItem.title = @"标题";
//中间 红色的view 高 40 宽 100 背景红色
UIView *redView = [self crearView:CGRectMake(0, 0, 100, 40) andBackGroundColor:[UIColor redColor]];
//子view 1 高 距离父view上下2 宽45 距离父view左边5 背景 绿色
UIView *greenView = [self crearView:CGRectMake(5, 2, 45, 36) andBackGroundColor:[UIColor greenColor]];
//子view 2 高 距离父view上下2 宽45 距离父view右边5 背景 蓝色
UIView *blueView = [self crearView:CGRectMake(50, 2, 45, 36) andBackGroundColor:[UIColor blueColor]];
[redView addSubview:greenView];
[redView addSubview:blueView];
// self.navigationItem.titleView = redView;
//navigationItem 的设置 只在当前VC中生效
//navigationBar 的设置 在当前导航控制器下的所有VC中都生效
//设置导航栏的背景
// self.navigationController.navigationBar.barTintColor = [UIColor redColor];
//设置 左 右 item 的颜色
self.navigationController.navigationBar.tintColor = [UIColor blackColor];
//设置导航的样式
// self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
//换掉前面半透明的图片
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"image64"] forBarMetrics:UIBarMetricsDefault];
//设置工具栏
//把工具栏显示出来 默认是隐藏
self.navigationController.toolbarHidden = NO;
UIBarButtonItem *toolBarItem1 = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemPlay target:nil action:nil];
UIBarButtonItem *toolBarItem2 = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemStop target:nil action:nil];
UIBarButtonItem *toolBarItem3 = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:nil action:nil];
//创建木棍特效
UIBarButtonItem *fixItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
fixItem.width = 50;
//弹簧特效
UIBarButtonItem *flexibleItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
self.toolbarItems = @[toolBarItem1,fixItem,toolBarItem2,flexibleItem,toolBarItem3,fixItem];
3.UIImageView 图片视图
UIImage (存图片) —> UIImageView(显示图片的视图)
核心属性 image
//创建图片视图 通过该初始化方法创建 图片视图,如果不设置frame,就是用使用图片本身的宽高,做为imageView的frame的宽高
// UIImageView *imageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"abc"]];
// imageView.frame = CGRectMake(50, 200, 200, 200);
UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(50, 200, 300, 200)];
imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"abc%ld",self.imageIndex]];
imageView.backgroundColor = [UIColor greenColor];
/*UIViewContentModeScaleToFill, 默认 缩放填充慢 会变形
UIViewContentModeScaleAspectFit, 不会变形 全部显示图片 imageView可能会留白
UIViewContentModeScaleAspectFill, 不会变形,imageView不会留白 图片可能会显示不全
*/
imageView.contentMode = UIViewContentModeScaleAspectFill;
//第三种 必须配合 切割使用
imageView.clipsToBounds = YES;
imageView.tag = IMAGE_TAG;
[self.view addSubview:imageView];