0

这是 UINavigationController 的 init 方法。我想我一定做错了。

- (id)init
{
self = [super init];
if (self) {

    self.view.backgroundColor = [UIColor blackColor];

    self.viewController = [[UIViewController alloc] init];

    self.viewControllers = [NSArray arrayWithObject:self.viewController];


    UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithTitle:@"Done"
                                                               style:UIBarButtonItemStylePlain
                                                              target:self
                                                              action:@selector(done)];
    self.viewController.navigationItem.rightBarButtonItem = button;
    self.navigationBar.barStyle = UIBarStyleBlackTranslucent;

    self.mediaScrollView = [[MediaScrollView alloc] initWithFrame:self.view.bounds];
    self.mediaScrollView.touchDelegate = self;
    self.mediaScrollView.fullScreenDelegate = self;
    [self.viewController.view addSubview:self.mediaScrollView];


}
return self;

}

mediaScrollView 在我的导航栏前面。它应该出现在导航栏的后面。

这是调用它的方法:

self.mediaVC = [[PDMediaViewController alloc] init];
    self.mediaVC.mediaScrollView.manualMedia = YES;
    self.mediaVC.mediaScrollView.mediaDelegate = self;
    self.mediaVC.mediaScrollView.currentMediaItem = 0;

    self.mediaVC.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
    [self presentModalViewController:self.mediaVC animated:YES];
4

2 回答 2

1

大多数时候你不子类化UINavigationController。相反,您创建子类,UIViewControllers然后使用普通UINavigationController实例来处理您的视图控制器。

MyViewController *firstViewController = [[MyViewController alloc] init];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:firstViewController];
[window addSubview:navController.view];

查看 XCode 中的导航控制器模板。

于 2012-07-02T14:22:57.923 回答
0

不要继承 UINavigationController!

UINavigationController 类实现了一个专门的视图控制器来管理分层内容的导航。此类不用于子类化。相反,在您希望应用程序的用户界面反映内容的分层性质的情况下,您可以按原样使用它的实例。此导航界面可以有效地呈现您的数据,也使用户更容易导航该内容。

http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationController_Class/Reference/Reference.html

于 2012-07-02T14:30:40.423 回答