UINavigationBar setHidden之前的WebView LoadRequest为YES

时间:2012-08-07 04:38:38

标签: ios multithreading uiwebview uinavigationbar

我需要在视图控制器中创建导航栏HIDDEN。我做了

- (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将准备好供用户查看。

我可以知道这是什么问题吗?或者我是以错误的方式做到的?谢谢......

2 个答案:

答案 0 :(得分:1)

当您尝试导航到此视图并且问题已解决时,您必须在父级或上一个视图中隐藏 navigationBar

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

按钮的动作方法中的

在导航到当前视图之前放置此行

[self.navigationController.navigationBar setHidden:YES];

快乐编码:)

答案 1 :(得分:0)

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

[self.navigationController.navigationBar setHidden:YES];
方法

中的

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

我希望它会成功。