- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在我的详细 View Controller 顶部添加一个 UIWebView subview ,它有一个导航栏。我想在 WebView subview 中隐藏导航栏,并在从父 View 中移除时再次显示它,以便在查看 WebView 时有更多的屏幕空间。
我的代码的问题是在添加 subview 后导航栏成功隐藏,但是在移除 subview 后再次尝试显示导航栏时它不起作用。
任何帮助将不胜感激。谢谢。
这是我的代码:
// In InstrumentsDetailViewController.m
- (IBAction)edu1Link:(id)sender {
_webViewController = [[WebViewController alloc]
initWithNibName:@"WebViewController" bundle:nil];
[UIView beginAnimations:@"flipping view" context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationTransition: UIViewAnimationTransitionFlipFromLeft
forView:self.view cache:YES];
[self.view addSubview:_webViewController.view];
[self.navigationController setNavigationBarHidden:YES animated:YES];
[UIView commitAnimations];
}
// In WebViewController.m
- (IBAction) doneButton:(id)sender {
[UIView beginAnimations:@"flipping view" context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationTransition: UIViewAnimationTransitionFlipFromRight
forView:self.view.superview cache:YES];
[self.view removeFromSuperview];
[self.navigationController setNavigationBarHidden:NO animated:YES];
[UIView commitAnimations];
}
最佳答案
对于我在代码中看到的内容:- 您正在向您的 InstrumentsDetailViewController 实例主视图添加一个 subview 。- subview 是 WebViewController 实例的主视图。
但是...WebViewController 永远不会被推送或弹出到您的导航堆栈。出于这个原因,您的 WebViewController 实例没有引用您的 navigationController,并且调用 [self.navigationController] 会将您的 setNavigationBarHidden:NO animated:YES 消息发送到...nil
您可以:- 将您的 WebviewController 实例推送/弹出到导航堆栈,因此它将具有对 navigationController 的引用。或者- 添加您的 WebViewController 实例作为 InstrumentsDetailViewController 的 CHILD,然后调用
[[[self parentViewController] navigationController] setNavigationBarHidden:NO animated:YES];
搜索 addChildViewController:
关于iphone - setNavigationBarHidden :NO Not Working after removeFromSuperview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6007347/
我是一名优秀的程序员,十分优秀!