控制器管理

来源:互联网 发布:微信网络推广策划 编辑:程序博客网 时间:2024/05/09 15:14

1.控制器的创建方式:

·通过storyboard的方式创建

.1 加载storyboard文件

UIStoryBoard *sto = 【UIStoryBoard storyBoardWithName:@“test” bundle: nil】;

.2初始化storyBoard 中分控制器

ViewController *VC = [sto instantiateInitialViewController];


通过一个标示初始化对应的控制器

ViewController *VC = 【sto instantiateViewControllerWitnIdentifer:@"XX"];


·直接创建 UIViewController *VC = [UIViewController new];

·制定xib文件创建 ViewController *vc = [[ViewController alloc] initWithNibName:@"XXX" bundl:nil];


视图view创建的流程:

首先判断loadView是否实现,如果实现,根据loadVie的代码去创建,如果不存在,查找storyBoard,如果存在则根据storyBoard创建,如果不存在,查看是否有同名的nib,如果有,,则根据nib创建,如果没有则照相同名字的View.xib,如果还没有,找viewController.xib,如果还没有,则自己创建一个空白的view


可用isViewLoaded判断一个UIVIewController的view是否已经加载


如果有多个控制器,可以用UINavigationViewCntroller来管理,还可以用UITabBarController来管理


UINAvigationViewCOntroller

可以用push的方式推出新的控制器,也可以用pop的方式移除控制器


手动型segue:按住control键从源控制器脱线到目标控制器。手动设置一个标示,在需要推出控制器的时候调用【self performSegueWithIdentifer:@"刚才设置的标示" animated :yes】;


.sourceViewController的下面方法,做一些跳转前的准备工作并且传入创建好的Segue对象


- (void)prepareForSegue:(UIStoryboardSegue*)segue sender:(id)sender;


UITabBarController:

使用步骤:

1.初始化UITabBarCOntroller

2.设置UIWIndow的rootViewCOntroller为UITabBarController

3.根据需要添加子控制器(addChildVIewCOntroller)

UITabBarController里面显示的什么内容,由子控制器的tabbarItem属性决定

tabBarItem的部分属性: titile 标题  image 图片  selectedImage选中是的图标  badgeValue 提示数字


除了push推出新的控制器以外,还可以用Modal的方式,Modal的默认效果:新控制器从屏幕最底部网上钻,直到盖住之前的控制器为止


//以Modal的形式展示控制器- (void)presentViewController:(UIViewController *)viewControllerToPresent animated: (BOOL)flag completion:(void (^)(void))completion

//关闭当初Modal出来的控制器- (void)dismissViewControllerAnimated: (BOOL)flag completion: (void (^)(void))completion;


0 0
原创粉丝点击