我正在使用普通的故事板,并在xcode中推送segues,但是我想让segues仅出现在下一个视图中,而不是滑动下一个视图(例如,当您使用选项卡栏并且仅出现下一个视图时)。

有没有一种简单的好方法就可以使普通的推送序列仅“显示”而不是“滑动”,而无需添加自定义序列?

一切工作都很好,我只想删除视图之间的幻灯片动画。

最佳答案

我能够通过创建自定义segue(基于this link)来做到这一点。

  • 创建一个新的segue类(请参见下文)。
  • 打开情节提要,然后选择segue。
  • 将类设置为PushNoAnimationSegue(或您决定调用的任何类)。

  • xcode - 在没有动画的xcode中推送segue-LMLPHP

    斯威夫特4
    import UIKit
    
    /*
     Move to the next screen without an animation.
     */
    class PushNoAnimationSegue: UIStoryboardSegue {
    
        override func perform() {
            self.source.navigationController?.pushViewController(self.destination, animated: false)
        }
    }
    

    objective-c

    PushNoAnimationSegue.h
    #import <UIKit/UIKit.h>
    
    /*
     Move to the next screen without an animation.
     */
    @interface PushNoAnimationSegue : UIStoryboardSegue
    
    @end
    

    PushNoAnimationSegue.m
    #import "PushNoAnimationSegue.h"
    
    @implementation PushNoAnimationSegue
    
    - (void)perform {
    
        [self.sourceViewController.navigationController pushViewController:self.destinationViewController animated:NO];
    }
    
    @end
    

    关于xcode - 在没有动画的xcode中推送segue,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31625221/

    10-16 17:47