首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以在tabBarController的视图之上设置子视图控制器的全屏视图?

是否可以在tabBarController的视图之上设置子视图控制器的全屏视图?
EN

Stack Overflow用户
提问于 2015-09-01 07:12:23
回答 1查看 1.4K关注 0票数 0
代码语言:javascript
复制
[self addChildViewController:self.redVC];
[self.view addSubview:self.redVC.view];
[self.redVC didMoveToParentViewController:self];

"self“是一个tabBarController,"redVC”是一个测试VC。我希望完整的生命周期(如viewDidAppear和旋转链)传递给childViewController(redVC),所以我使用childVC。但是,此方法将显示tabBar。

只是把self.redVC.view放在self.view之上,而不是addChildViewController。tabBar可以被覆盖。Overlay a view over whole screen, when using UITabBarController?

同时,我可以在tabBarViewController的视图中添加一个透明的视图,在这种情况下,应该看到tabBar。因此,我不想更改tabBar的框架或隐藏它。

是否有一种方法来实现所有这些?

  • 来自父viewController的全生命周期传递和旋转链
  • 要添加的全屏视图(如果此视图是透明的,则应该看到toolBar )
  • 不要更改或隐藏tabBar
EN

回答 1

Stack Overflow用户

发布于 2015-09-01 07:20:33

如果您想让选项卡不可见,请回答:

而不是这样的黑客,您应该只是隐藏在viewWill(Did)AppearviewDid(Will)Disappear上的选项卡。将viewController添加到普通堆栈中。

您也可以添加modalViewController。

代码语言:javascript
复制
PushViewController *pushViewController = [[PushViewController alloc] init];
[self presentViewController:pushViewController animated:YES completion:^{}];

这样,您的PushViewController将拥有所有的视图生命周期方法(如viewDidAppear:等),并且当此控制器可见时,您的选项卡将不可见。

如果您想要使选项卡可见,请回答:

在故事板(或代码)中添加UINavigationBar。

代码语言:javascript
复制
[self.navigationController pushViewController:pushViewController animated:YES];

顺便说一句:尽量避免这样的黑客攻击。他们可能在未来不工作,不友好的阅读,一般倾向于表明代码是不好的。

您还应该重读苹果文档中有关MVCview lifecycleUIViewController的部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32325624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档