【问题标题】:Change UIView with button action使用按钮操作更改 UIView
【发布时间】:2017-03-17 12:52:23
【问题描述】:

我的第一个视图(带有 UIView 和按钮)将有一个顶部菜单,我希望能够在其中更改视图(显示红色 UIView、蓝色 UIView 等)

我的问题是,我不想为红色和蓝色视图添加标签栏项目,我希望它们只有在用户单击菜单上的按钮时才可见,但我仍然想显示如果用户想要更改标签栏,例如从红色视图更改为第二视图。

这可能吗?如果用户单击按钮,我会更改 UIView,但我不确定这是否正确。

有人尝试过这样做吗?有没有更好的办法?

我希望我的问题很清楚,但如果它令人困惑,请说,以便我可以编辑并找到更好的方法来解释我的问题。

谢谢。

【问题讨论】:

  • 如何使用导航控制器而不是您的第一个带有按钮的视图并将其保留为它的根视图控制器?然后,您可以将红色和蓝色视图推送到它。
  • 问题是,如果我按下红色/蓝色视图,它们将隐藏标签栏,这就是我考虑使用容器视图的原因,因为我可以限制视图是否会出现,因此我'不会隐藏标签栏。
  • 我认为他们不会隐藏标签栏,如果导航控制器本身有标签栏项目,你可以试试吗? (您的标签栏控制器->(一个标签)UINavigationController->您的主视图。)
  • 抱歉,Sunil 你是 100% 正确的。这意味着我仍然不知道导航控制器是如何工作的。我知道我问得太多了,但如果可能的话,你能告诉我为什么当我使用导航控制器更改视图时标签栏没有隐藏?如果您想回答我的问题,我很乐意将其标记为正确。
  • UINavigationController 和 UITabBarControllers 是不同的并且彼此独立。因此,您可以在任何标签栏控制器中使用导航控制器,并在任何导航控制器的视图中使用标签栏。玩玩这些控制器会详细讲解。

标签: xcode uistoryboard


【解决方案1】:

如何使用导航控制器而不是您的第一个带有按钮的视图并将其保留为它的根视图控制器?然后,您可以将红色和蓝色视图推送到它。

【讨论】:

  • Sunil 就像我说的你的答案很完美。现在我唯一的疑问是,如果我以模态方式显示我的视图,它将隐藏标签栏,如果我用 push 显示一切正常。但我的问题在于内存,因为我没有后退按钮(因为它是一个菜单),是否存在视图将堆叠到应用程序冻结的点的问题?我对 Memory Leak 进行了测试,一切似乎都很好。感谢您对导航控制器进行快速解释。
  • 您可以只将控制器呈现给 UITabBarController 并且标签栏将被隐藏。完成后还附加dismiss 按钮以关闭控制器。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多