(四十五)Modal 模态窗口 -遮盖

这篇博客探讨了在iOS开发中如何使用Modal模态窗口进行控制器切换。Modal默认从屏幕底部向上滑动,覆盖之前的控制器。文章介绍了从One到Two的Modal切换以及Two返回One的操作,并解释了如何通过presentedViewController和presentingViewController属性建立两者间的引用关系。此外,还提到了快速添加导航控制器的方法以及在storyboard中设置Modal的方式。同时,博主建议通常使用push而非Modal,并利用prepareForSegue...传递数据以及通过navigation的topViewController获取栈顶控制器。
摘要由CSDN通过智能技术生成

任何控制器都能通过Modal方式切换。

Modal的默认效果是:新显示的控制器从屏幕底部向上,直到盖住之前的控制器为止。

假设有One和Two两个控制器:

One到Two的Modal方法:present...方法。

TwoViewController *two = [[TwoViewController alloc] init];
    
    [self presentViewController:two animated:YES completion:^{
        
        NSLog(@"展示完毕");
    
    }];

Two返回One的方法:dismiss...方法。

[self dismissViewControllerAnimated:YES completion:^{
        NSLog(@"关闭结束");
}];

Modal实现原理:

当Two覆盖One时,One会被移开,当Two退出时,One再拿回来,不变的是根控制器。

One通过presentedViewController引用Two,Two通过presentingViewController引用One。


给一个控制器添加导航控制器的最快方法是直接给这个控制器包装一个导航控制器,也就是将导航控制器的rootViewController设置为当前控制器:

TwoViewController *two = [[
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值