以编程方式替换视图控制器?

时间:2013-06-02 08:47:58

标签: iphone ios ios6

我正在使用库(ViewDeck)来获得滑动视图。我相信我的问题适用于任何其他图书馆。

我的初始视图控制器中有以下代码:

#import "InitialViewController.h"

@implementation InitialViewController

- (id)initWithCoder:(NSCoder *)aDecoder
{
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard"
                                                     bundle:nil];
    self = [super initWithCenterViewController:[storyboard
                                                instantiateViewControllerWithIdentifier:@"middleViewController"]
                            leftViewController:[storyboard
                                            instantiateViewControllerWithIdentifier:@"leftViewController"]];

    return self;
}

@end

有时我需要以模态方式呈现ViewController,然后根据用户的输入交换当前的View Controllers; 例如,我需要为 mainViewController 交换 middleViewController ,为 menuViewController 交换 leftViewController 。 我无法想出办法。我想在初始视图控制器上使用委托,但我相信当我在上面的代码上调用 self = [super initWith ...] 时委托代码会丢失。

有没有办法交换这些控制器?我应该更换rootViewController吗?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:0)

我最终使用SWRevealViewController而不是ViewDeck。我认为,它们的实施更清洁,更容易定制。