作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前有两个 View Controller ,一个是使用 imagePicker 拍照的 CameraViewController
,另一个是显示一个人收到的所有照片消息的 PhotoInboxViewController
。 PhotoInboxViewController
,以及我的 Root View Controller ,是一个Tab Bar Controller
。
当我在 CameraViewController
中显示 imagePicker 以及随后的图像预览屏幕时,我通过设置 self.tabBarController.tabBar.hidden = YES
禁用了 TabBar >。我的问题是,当 PhotoInboxViewController
再次显示时(例如,如果用户取消拍照),我希望标签栏再次显示。在我的 viewWillAppear
方法中,我有以下内容:
//In PhotoInboxViewController
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
if ([[[self tabBarController] tabBar] isHidden]){
self.tabBarController.tabBar.hidden = NO;
}
}
在调试中,我看到 if
语句确实被评估为 tabBar as isHidden
,因此下一行也被执行。但是,我的标签栏仍然隐藏。
我做错了什么?感谢您的帮助 - 谢谢!
最佳答案
您不需要隐藏标签栏。以模态方式呈现时,您应该从全屏/ Root View Controller 呈现。在这种情况下,选项卡栏 Controller ,而不是其中一个选项卡中的 View Controller 。这允许演示文稿正常工作而没有任何奇怪的副作用。
关于ios - 尽管在 Controller 中设置 tabbar.hidden = NO,TabBar 仍然隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21292093/
我是一名优秀的程序员,十分优秀!