iOS开发UI篇 -- 04011控制器切换方式之Modal介绍

来源:互联网 发布:java中布尔函数编程 编辑:程序博客网 时间:2024/06/05 09:10

1、初识Modal

除了push之外,还有另外一种控制器的切换方式,那就是Modal
任何控制器都能通过Modal的形式展示出来
Modal的默认效果:新控制器从屏幕的最底部往上钻,直到盖住之前的控制器为止
Modal的形式展示控制器

- (void)presentViewController:(UIViewController *)viewControllerToPresent animated: (BOOL)flag completion:(void (^)(void))completion

关闭当初Modal出来的控制器

- (void)dismissViewControllerAnimated: (BOOL)flag completion: (void (^)(void))completion;

2、Modal原理

present的时候,当第二个View显示完全显示的时候,第一个View会到一旁休息(性能问题),但是根控制器还是第一个View的Vc;

当第二个View要dismiss的时候,第一个View会出现到原来位置等待第二个View消失,同时第二个View的Vc销毁

ps:一般Modal出来的是导航控制器

3、Modal的使用场景

一般用push
两个控制器关联比较强的时候使用push,弱点的时候使用Modal(比如联系人列表和添加界面之后使用的就是Modal)

4、Modal代码展示

- (IBAction)jump {    // 展示MJTwoViewController,在第二个Vc中添加一个导航栏    MJTwoViewController *two = [[MJTwoViewController alloc] init];        UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:two];        [self presentViewController:nav animated:YES completion:^{        NSLog(@"展示MJTwoViewController完毕.......");    }];}- (IBAction)cancel {    [self dismissViewControllerAnimated:YES completion:^{        NSLog(@"关闭MJTwoViewController....");    }];//    [self.navigationController dismissViewControllerAnimated:YES completion:^{//        NSLog(@"关闭MJTwoViewController....");//    }];}





0 0
原创粉丝点击