【问题标题】:Custom transition for UINavigationControllerUINavigationController 的自定义转换
【发布时间】:2014-11-08 08:38:39
【问题描述】:

我想为 UIViewController 自定义一个过渡。因此,我为推送和弹出转换创建了一个新类别,如下所述:http://www.davidhamrick.com/2011/12/31/Changing-the-UINavigationController-animation-style.html

所以,我创建了T1 类别。首先,这里是UINavigationController+T1.h

@interface UINavigationController (T1)

- (void)t1_PushViewController:(UIViewController *)viewController;
- (void)t1_PopViewController;

@end

这里是 UINavigationContoller+T1.m

@implementation UINavigationController (Fade)

- (void)t1_PushViewController:(UIViewController *)viewController
{
    // ...
    // Push code for T1 transition
    // ...

    [self pushViewController:viewController animated:NO];
}

- (void)fadePopViewController
{
    // ...
    // Pop code for T1 transition
    // ...

    [self popViewControllerAnimated:NO];
}

@end

然后,我被难住了!我不确定如何让情节提要中的 UIViewController 使用类别中的那些新转换。如何强制我创建的类别中的推送和弹出转换供 UINavigationController 的前进(显示)和后退操作使用?

【问题讨论】:

    标签: ios objective-c uiviewcontroller customization transition


    【解决方案1】:

    这里是教程custom-ios-segues-in-xcode-5,对于你的情况,将t1_PushViewController方法的内容移动到你自定义的UIStoryboardSegue子类的perform方法,对pop函数做同样的事情。

    【讨论】:

    • 谢谢,但这并不是我所需要的。它使用 Segues,而我正在寻找的是使用类别中的代码来覆盖推送/弹出转换。也许是一样的,但我太迷茫了,一点头绪都没有。
    • 是一样的,只是在perform方法中调用t1_PushViewController,而不是把它的内容复制到perform
    • 这里是project,以备不时之需。
    猜你喜欢
    • 1970-01-01
    • 2013-11-17
    • 1970-01-01
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多