2014-11-08 137 views
-1

我想爲UIViewController自定義轉換。因此,我創建瞭如下所述的推入和彈出轉換的新類別:http://www.davidhamrick.com/2011/12/31/Changing-the-UINavigationController-animation-style.htmlUINavigationController的自定義轉換

因此,我創建了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在類別中使用這些新的轉換。我如何強制創建的類別中的push和pop轉換由我的UINavigationController的forward(show)和back動作使用?

回答

1

這裏是教程custom-ios-segues-in-xcode-5,爲你的情況下,將t1_PushViewController方法的內容,您的自定義UIStoryboardSegue子類的perform方法,做流行的功能是相同的。

+0

謝謝,但這不完全是我所需要的。它使用Segues',我正在尋找的是使用類別中的代碼來覆蓋push/pop轉換。也許它是一樣的,但我很迷茫,我沒有線索。 – Greeso 2014-11-08 15:54:16

+0

也是這樣,只需在執行方法中調用't1_PushViewController',而不是將它的內容複製到'perform'。 – gabbler 2014-11-08 16:21:00

+0

這是一個[項目](https://www.dropbox.com/s/q2q1a03yf1rgcas/CustomSegue.zip?dl=0),以備您需要時使用。 – gabbler 2014-11-08 16:39:26