【问题标题】:How to do a horizontal cover segue using storyboards?如何使用故事板进行水平封面转场?
【发布时间】:2012-01-17 09:45:40
【问题描述】:

有一个垂直的封面过渡。我一直在网上寻找如何做水平封面但没有成功。有什么建议吗?

【问题讨论】:

    标签: ios storyboard


    【解决方案1】:

    iOS 中没有提供水平封面过渡。您必须创建自己的 UIStoryboardSegue 子类并实现自己的过渡动画。

    我认为您正在寻找的一种动画转换的方法是这样的(警告:未经测试的代码):

    // add newView to window
    [oldView.window insertSubview:newView aboveSubview:oldView];
    
    // assuming newView and oldView both sized to fill screen,
    //   position newView just to the right of oldView
    newView.center = oldView.center + oldView.frame.size.width;
    
    // slide newView over oldView, then remove oldView
    [UIView animateWithDuration:0.3
                     animations:^{ newView.center = oldView.center; }
                     completion:^(BOOL finished){ [oldView removeFromSuperview]; }];
    

    【讨论】:

    • 您需要什么帮助?创建一个转场,或动画过渡? UIStoryboardSegue 参考页面涵盖了子类化,您可能希望使用 Core Animation 来进行实际的转换。
    • blog.jh-lim.com/2011/11/… 这看起来像......我会玩这个。感谢您让我知道要查找的内容。
    • 我得到了“自定义过渡”的工作...我仍然不知道如何覆盖水平..它似乎不是 [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:ctrl 下的选项.view 缓存:否];
    • 我认为您将不得不将目标控制器的视图定位在屏幕外当前视图的右侧或左侧,然后对其位置进行动画处理以将其移动到屏幕上。
    • 以上链接已损坏。请使用blog.jimjh.com/…
    【解决方案2】:

    当您使用导航控制器并从中推送和弹出视图时,效果是水平覆盖。

    【讨论】:

      猜你喜欢
      • 2012-08-24
      • 2015-03-12
      • 2012-08-22
      • 1970-01-01
      • 2012-07-09
      • 2012-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多