1 视图切换
第一种 模态化的方式切换转场
modalTransitionStyle的类型是UIModalTransitionStylePartialCurl时反相传值第一个视图添加它,第二个视图在TouchBegan…方法中dissmiss时TextField被点击时会直接返回到第一个视图,TextField无法编辑
modalPresentationStyle
需要将实例化后视图控制器设置成导航控制器的根视图控制器,然后再进行切换,
NextUIViewController *vc =[[NextUIViewController alloc]init];
UINavigationController *navVC =[[UINavigationController alloc]initWithRootViewController:vc];
[self presentViewController:navVC animated:YES completion:NULL];
if([self.delegate respondsToSelector:@selector(reverseSendValue:)]){
// [self.delegate reverseSendValue:tf.text];
[self.delegate performSelector:NSSelectorFromString(@"reverseSendValue:")withObject:tf.text];
}
2 种转场:
UINavigationController, navigationBar / toolBar , UIBarButtonItem
每个视图控制器都有自己的navigationitem属性,每个视图控制器的navigationitem是不同的,通过它可以设置navigationbar的返回按钮、左右视图、titleView等属性
高度44, tabbar高度49
//设置返回按钮,在下个界面体现
self.navigationItem.backBarButtonItem = backItem;
pushViewController: animated:
popToViewController:self.navigationController.viewControllers[0]
3 直接切换视图
通过UIView的window属性获得UIWindow对象
重新指定UIWindow对象的rootViewController属性
4 通过管理子视图的方式切换视图
用一个视图控制器做容器,将其他的视图控制器加入到容器视图控制器中,再将第一个要呈现的视图控制器的视图贴到容器视图控制器上([self.view addSubiew:self.childViewControllers[0]])。当需要进行视图切换的时候,可以调用容器视图控制器的transitionFromViewController:toViewController:duration:options:animations:completion方法;如果要从容器视图控制器中移除当前视图控制器可以调用removeFromParentViewController方法。
5.视图控制器的旋转
可以在项目的通用设置(General)选项中设置"Device Orientation"勾选允许设备旋转的方向,如下图所示;也可以在info.plist文件设置"Supported interface orientations"键,可以使用的值包括:Portrait(bottom home button)、Landscape(left home button)、Landscape(right home button)、Portrait(top home button)
6 自定义切换效果