IOS 7
您所问的问题可以通过新的 API 实现。但是,iOS 7 目前处于 NDA 之下。在 SDK、工具链和操作系统最终确定之前,请避免在 Stack Overflow 上询问 iOS 7 相关问题。在 iOS 开发者论坛上提出这个问题。当 iOS 7 公开时,我将编辑这个答案来描述如何做到这一点。
同时(因为您是注册开发人员),我可以为您指出一些可能感兴趣的资源(您可能需要登录才能访问它们)。
iOS 5 - 6
在 iOS 的早期版本(5.0 及更高版本)中创建自定义转场相当简单,与 iOS 7 不同 - 动画不能真正与您的视图交互,ViewController
而且它们不是动态的。
要设置自定义 segue,您需要首先创建uistoryboardsegue的子类 (此处的文档)。覆盖该perform
方法并添加您自己的动画和绘图代码:
- (void)perform {
//Add your own animation code here, then present the View Controller using that custom animation
[[self sourceViewController] presentModalViewController:[self destinationViewController] animated:NO];
}
现在您已经子类UIStoryboardSegue
化并创建了自己的动画,您需要在 Interface Builder 中连接 segue。
- 通过从源视图控制器到目标视图控制器的 Control-Dragging 创建 Segue。
custom
从列表中选择
通过设置标识符来命名 Segue(这样您也可以使用performSegueWithIdentifier:sender:
)方法调用 segue。然后将 Segue Class 设置为您的UIStoryboardSegue
子类的名称。