【问题标题】:Custom segue in iOSiOS中的自定义segue
【发布时间】:2013-07-05 08:24:15
【问题描述】:

我正在尝试制作一个自定义序列,其中 src 跌落以显示 dst。这是我目前拥有的。如何让 dst 在 src 后面?

-(void)perform {
    UIViewController *src = [self sourceViewController];
    UIViewController *dst = [self destinationViewController];

    [UIView animateWithDuration:0.5
                          delay:0.0
                        options:UIViewAnimationCurveEaseIn
                     animations:^{
                         [src.parentViewController.view setTransform:CGAffineTransformMakeTranslation(0, src.view.bounds.size.height)];
                     }
                     completion:nil];

    [src presentViewController:dst animated:NO completion:nil];

}

【问题讨论】:

  • iOS 7 仍处于保密协议下。因此,在当前格式中,它是题外话。您需要联系 developer.apple 以获得支持
  • 问题在iOS 6的上下文中完全一样。会改变标题。

标签: iphone ios objective-c uiviewcontroller segue


【解决方案1】:

与其将目标视图控制器安排在源控制器后面,不如试试这个:将源视图控制器渲染到图像视图,将该图像添加到源控制器,然后为图像落下设置动画。

这有很多好处:首先,无论您最终做什么,出于性能原因,您可能需要将源视图控制器渲染为图像无论如何。其次,它避免了必须弄乱视图控制器层次结构。

如果不是很清楚,这里是一步一步的:

  1. 将源视图控制器渲染到UIImageView
  2. UIImageView 添加到您的目标视图控制器(以便它完全覆盖目标视图)
  3. 删除您的源视图控制器并添加目标控制器 - 这应该是无缝/不可见的,因为您的目标控制器正在显示您之前准备的渲染图像。
  4. 动画UIImageView 下落以显示其下方的视图内容

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多