0

我需要在视图控制器中隐藏导航栏。我愿意

- (void)viewDidLoad
{
     [self.navigationController.navigationBar setHidden:YES];
     [super viewDidLoad];
}

但是当我需要在启动应用程序时启动一个新线程来加载 webview 时,

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
   self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
   if (self)
       [NSThread detachNewThreadSelector: @selector(doStuff) toTarget:self withObject:NULL];
   return self;
}

- (void)doStuff
{
   NSLog(@"Starting a new thread ...");

   url = [NSURL URLWithString:@"http://www.google.com"];
   NSURLRequest *request = [NSURLRequest requestWithURL:url];
   [newsWebView loadRequest:request];
}

导航栏仍然出现。

我只想在应用程序启动时隐藏导航栏并在此视图控制器的单独线程中加载 webview。当我点击 tabBar 时,这个 viewController 将准备好供用户查看。

我可以知道是什么问题吗?还是我做错了?谢谢...

4

2 回答 2

1

当您尝试导航到此视图时,您必须隐藏父视图中的导航栏或它的前一个视图,问题就这样解决了

假设在前一个视图中单击某个按钮时导航此视图

在按钮的操作方法中,在导航到当前视图之前放置这一行

[self.navigationController.navigationBar setHidden:YES];

快乐编码:)

于 2012-08-07T06:54:50.993 回答
0

嗨,我认为最好放置这行代码

[self.navigationController.navigationBar setHidden:YES];

在方法中

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

我希望它能解决。

于 2012-08-07T04:44:13.647 回答