【问题标题】:Presenting a UIVIew from a container view modally (nav bar missing)以模态方式从容器视图中呈现 UIVIew(缺少导航栏)
【发布时间】:2014-04-11 08:14:05
【问题描述】:

我对 iPhone 开发有点陌生,正在努力自学。

我有一个包含 2 个部分的视图控制器:

  1. 图像视图 - 一些图片 + 一些顶部的文字
  2. 容器视图

容器视图现在被设置为一个新的控制器视图,我将其替换为一个集合视图。这里的想法是保存一些图片,我可以点击它进入另一个页面。

所以,有了这一切,我的工作正常。我的主视图显示顶部图片+文字,下面是所有可点击的较小图片,它们将我带到另一个以模态方式呈现的视图。

最后一个视图是一个 UIView,其中包含一个 imageView 来保存我在另一个视图上单击的图片。这甚至可以正常工作。

问题是我试图在新视图的顶部添加一个导航栏,它在故事板中显示良好,我添加了一个按钮来关闭它。但是由于某种原因,当我运行应用程序时,它并没有出现。

如果我将呈现模式更改为推送,我会看到导航栏也显示后退按钮,但我的关闭按钮在那里也不起作用(添加代码以正确关闭视图)。

我在模态演示中做错了什么?

【问题讨论】:

    标签: iphone view navigation containers


    【解决方案1】:

    如果您想以模态方式显示带有导航栏的视图,它必须拥有自己的NavigationController
    在模态显示的视图中也有一个 NavigationBar,将 UINavigationViewController 拖到您的 ViewController 前面,例如:

    如果是push segue,则不需要这样做,因为推送的 ViewController 仍然是原始 UINavigationViewController 的子级,它是 NavigationBar 的所有者 NavigationBar 由 UINavigationController 管理,它位于父端。
    因此,如果您在 Storyboard 中添加按钮,则将这些按钮添加到属于 ViewController 的NavigationItem

    【讨论】:

    • 感谢您的回答。在发布问题之前我已经尝试过,它似乎也不起作用。我不确定这是否仅适用于容器视图。我很确定如果您在上面显示它是主视图控制器和其他控制器的导航控制器跟随器的情况下,这可以正常工作,因为我在另一个实验中尝试这样做只是为了确保。我的问题似乎与我拥有的容器视图最相关。让我看看我是否可以给我的故事板拍照以更好地展示流程,看看我的设计可能存在什么问题
    猜你喜欢
    • 1970-01-01
    • 2020-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多