gpt4 book ai didi

objective-c - 以两种方式显示 View (推送和模态)

转载 作者:行者123 更新时间:2023-11-29 04:20:01 25 4
gpt4 key购买 nike

我正在使用 Storyboard。我有一个 UINavigationController,其 rootViewControllerUITableViewController。从此 TableView 中,用户可以通过两种方式访问​​ DetailViewController(自定义 UIViewController 子类):

  1. 点击表格单元格即可查看其信息
  2. 点击加号按钮创建新项目

对于方式 1,我希望插入我的转场。对于方式2,我希望以模态方式显示详细信息。

起初我认为这应该不会太困难,但我遇到了一些麻烦。造成这个麻烦的原因是:导航栏。当推送下一个 View 时,导航栏就在那里。然而,当下一个 View 以模态方式显示时,导航栏不存在。

我知道苹果已经考虑到了这一点,这是最合乎逻辑的方法,但我需要模态视图中的导航栏来再次关闭模态视图(使用取消和完成按钮)。通过界面生成器添加此导航栏不会带来好运:对于模态显示的 View ,它工作正常,但在我的推送 View 中,我突然有两个导航栏。

对此的合理解决方案是以编程方式添加导航栏,如果 View 以模态方式显示。我这样做了,并且显示了导航栏,但它与 View 重叠。我尝试调整 View 大小,使其与正在推送的 View 具有相同的大小,但我未能解决问题:导航栏仍然与 View 重叠。

我此时停止尝试有两个原因:我不知道该再尝试什么,而且我觉得应该有一种更简单的方法,因为我可能不是唯一一个尝试实现这一目标的人。

谁能帮帮我?

最佳答案

您可以使用详细 View Controller 作为其 Root View Controller 来创建另一个导航 Controller 。然后使用主视图 Controller 作为演示者以模态方式呈现新的导航 Controller 。

关于objective-c - 以两种方式显示 View (推送和模态),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13093810/

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