您的位置:首页 > 其它

控制器管理

2015-12-25 14:06 190 查看
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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: