【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记42 Modal Segue(模态过渡)

modal segue会占据整个屏幕,所以使用的使用一定要小心,提前做好返回的处理,使用modal segue的好处是在执行某项操作前必须,比如我们熟悉的alert和actionsheet。
比如手机中的联系人页面,点击右上角的加号会出现一个添加联系人的页面,整个页面的划出方式就是modalsegue。通常modalsegue中的取消按钮会取消当前的操作,而确定按钮会提交当前的操作。注意modal segue生成的MVC也可以嵌套,比如增加联系人页面中的增加联系人头像按钮也是一个modal segue的MVC。
总之使用modal segue要小心,至于如何使用modal segue的问题,在连线的时候选择Modal,如果不是通过按钮调用segue,你可以在代码中直接调用performSegue方法,或者presentViewController方法。
在方法prepareForSegue中modal和其他方式没有区别。那么该如何从modal segue创建的MVC中返回呢?通常情况下整个MVC都会和某些数据做交互,不需要返回任何信息,比如新增一个联系人,如果你有需要,可以使用unwind segue进行交互,但是大部分modal MVC都只会dismiss(移除)它们自己而已。那么该如何移除呢?如果使用unwind的话在返回指定控制器后会自动移除当前的控制器。如果不适用unwind就需要主动调用dismiss了,调用下面的方法:
dismissViewControllerAnimated,接着就会返回之前的MVC(也就是使用modal segue生成MVC的MVC)。dismiss只针对当前展示给用户的MVC,在任何时候被modal segue的MVC都知道是谁弹出的自己。
关于modal segue的动画效果:我们看到使用modal segue的MVC是从下面滑出来的,这是默认的方式.CoverVertical,还有其他方式,比如
.FlipHorizontal:翻转效果,弹出的MVC与之前的MVC通过翻转交换位置。
.CrossDissolve:新的MVC淡入,旧的MVC淡出。
.PartialCurl:从底下翻出一个角展示一个新的MVC。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值