ios - 如何以编程方式打开我的 UINavigationController?

标签 ios uinavigationcontroller uistoryboard

我不喜欢所见即所得/可视化编程的一件事是,当你需要跳出框框时,你就会摸不着头脑。我现在正处于 iOS 学习曲线的这个阶段。

我有一个自定义的UICollectionView东西。在两个地方(创建和编辑点),我需要向用户呈现一个列表,以启用/禁用(选择/取消选择)列表中的项目。所以我转到 Storyboard并制作如下内容:

enter image description here

过去,在学习教程之后,我会按住 Control 键将一个链接从某个控件拖动到中间显示的 NavigationController,我会告诉它这是一个模态转场,调整几个方法,并获得一个连接这两个方法的箭头感谢我的努力。

但在这种情况下,我没有明显的点来开始该操作。我确实有一个+按钮。但它需要首先做一些其他事情,如果一切顺利,然后以编程方式启动打开,并在返回时以某种方式收到状态通知。对于各个单元格来说也是如此,他们可能想要配置我的表格 Controller ,然后打开它,并在它关闭时收到通知。

所以我正在寻找如何做到这一点的秘诀,我应该寻找的关键方法是什么。 Apple 的文档非常适合引用,但我发现弄清楚如何从头开始做某事很困难。

最佳答案

在 Storyboard中创建 Segue 后,您可以随时通过调用以编程方式启动 Segue

[self performSegueWithIdentifier:@"segueID" sender:person];

其中“segueID”是您在身份检查器(右侧菜单面板,第四个选项卡)的“标识符”字段中的界面构建器中为 segue 设置的字符串。

segue 不需要从控件创建,您可以直接从一个 View Controller 到另一个 View Controller 创建一个。我通常通过右键单击一个 View Controller 对象并拖动到另一个 View Controller 对象来在右侧菜单上执行此操作。这样,它就可以充当一个 segue,您可以随时以编程方式启动它。

至于当您返回 View Controller 时收到通知,(除非我误解了您的问题)您可以使用:

  • (void)viewWillAppear:(BOOL)animated
  • (void)viewDidAppear:(BOOL)animated

关于ios - 如何以编程方式打开我的 UINavigationController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22261097/

相关文章:

ios - 作为 subview Controller 嵌入时 UINavigationController 高度为零

swift - 如何在 UITableview 标题中添加自定义控件

iphone - 如何在 Storyboard中创建 UIViewController 布局,然后在代码中使用它?

iphone - 如何在iOS中更改推送通知的消息按钮的文本?

ios - NavigationBar 按钮单击区域无法正常工作(图像不可单击)

objective-c - 没有 UITableView 的 UISearchDisplayController

objective-c - 弹出一个以模态方式呈现的 UINavigationController

ios - 尺寸检查器的自动调整大小蒙版中的支柱和 Spring 似乎在 iOS5 模拟器中不起作用

ios - 将更新坐标添加到 NSMutableArray

ios - 使用 Mesh 在 Metal 中绘图