深入学习iOS7自定义导航转场动画

2020-01-14 20:05:04刘景俊


 [self.transitionCoordinator 
notifyWhenInteractionEndsUsingBlock:^(id
sitionCoordinatorContext> context) { 
//动画结束后执?行的代码块 
}]; 
 

屏幕快照
在iOS7 以前, 获取一个UIView的快照有以下步骤: 首先创建一个UIGraphics的图像上下文,然后将视图的layer渲染到该上下文中,从而取得一个图像,最后关闭图像上下文,并将图像显示在UIImageView中。现在我们只需要一行代码就可以完成上述步骤了: 


[view snapshotViewAfterScreenUpdates:NO]; 

这个方法制作了一个UIView的副本,如果我们希望视图在执行动画之前保存现在的外观,以备之后使用(动画中视图可能会被子视图遮盖或者发生其他一些变化),该方法就特别方便。 

afterUpdates参数表示是否在所有效果应用在视图上了以后再获取快照。例如,如果该参数为NO,则立马获取该视图现在状态的快照,反之,以下代码只能得到一个空白快照: 


[view snapshotViewAfterScreenUpdates:YES]; 
[view setAlpha:0.0]; 

由于我们设置afterUpdates参数为YES,而视图的透明度值被设置成了0,所以方法将在该设置应用在视图上了之后才进行快照,于是乎屏幕空空如也。另外就是……你可以对快照再进行快照……继续快照……
苹果公司在iOS7中为开发者添加了新的用于创建和自定义动画的API。iOS7 SDK不仅引入了强大的动画block和许多易于使用的方法,而且彻底改变了为视图自定义动画的方式。

以上就是本文的全部内容,希望对大家的学习有所帮助。



注:相关教程知识阅读请移步到IOS开发频道。