UIViewController理解

关于UIViewContrller的理解:

1.UIViewContrller之间的切换有三种方式:
一、UIViewController自身之间的调用:([ self presentModalViewController:UIViewController animated:YES];) 对应的返回操作函数:[self  dismissModalViewControllerAnimated:YES ];这里的self代表的是UIViewController自己。其可设置四种动画模式:
case 0:
[ctrl setModalTransitionStyle:UIModalTransitionStyleCoverVertical]; // 底部向上  默认的动画方式
break;
case 1:
[ctrl setModalTransitionStyle:UIModalTransitionStyleCrossDissolve]; // 渐变
break;
case 2:
[ctrl setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal]; // 翻转
break;
case 3:
[ctrl setModalTransitionStyle:UIModalTransitionStylePartialCurl]; // 翻半也
break;
default:
[ctrl setModalTransitionStyle:UIModalTransitionStyleCoverVertical]; // 底部向上  默认的动画方式
break;


       二、通过UIViewController的子类 UINavigationController这个号称为导航控制器的Controller来控制ViewContrller之间的切换,对应的调用函数,与返回函数分别是:[ self.navigationController pushViewController:ctrl animated:YES]; 返回:([self.navigationController  popViewControllerAnimated:YES ];),也可直接指定返回到那一个ViewController:( - (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated ) 还可以直接返回到RootViewController:( - (NSArray *)popToRootViewControllerAnimated:(BOOL)animated )

备注:小知识点设置navigationItem的backItem按钮上的文本,( self:navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"返回 style:UIBarButtonItemStyleDone  target:self  action:@selector(action:)]; )默认的文本是navigationItem的title;
    实现NavigationController的delegate可以在返回时做相应的更新操作( - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated 

      三、就是UITabBarContrller其也是继承于UIViewController,主要是做图1这样的功能的 (图1)其缺点在于下面的图片不能自己控制大小和样式


如果使用controller之间的切换出来用于控制其它controller的那个Controller在程序运行中不会释放以外,其它的Controller只要调用了返回函数那么就会被清理掉。
备注:如果Controller或view中又线程或者定时器之类的动画操作如果没有结束那么这个Controller或view就会出现内存泄露了。

猜你喜欢

转载自374016526.iteye.com/blog/1161242