gpt4 book ai didi

iphone - setNavigationBarHidden :NO Not Working after removeFromSuperview

转载 作者:可可西里 更新时间:2023-11-01 06:12:40 24 4
gpt4 key购买 nike

我正在我的详细 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];

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

搜索 addChildViewController:

关于iphone - setNavigationBarHidden :NO Not Working after removeFromSuperview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6007347/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com