【问题标题】:Storyboard: Control-drag from a bar button to the Exit item情节提要:按住 Control 从条形按钮拖动到退出项目
【发布时间】:2013-11-01 19:49:20
【问题描述】:

所以我正在编写来自 Apple (https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/SecondTutorial.html) 的新教程,结果我遇到了故事板问题:

我无法从 UIBarButton 按住 Control 并拖动到场景停靠栏中的 Exit 项目。当我点击退出项目时,属性检查器会显示“不适用”。

这里是教程的摘录。我无法发布图片。为了更好地理解我的问题,您可以在页面底部看到按住 Control 并拖动到退出项目的图像。

回到 XYZToDoListViewController

[...]

要创建展开转场,请通过源视图控制器 XYZAddToDoItemViewController 的停靠栏中的 Exit 图标将 Cancel 和 Done 按钮链接到 unwindToList: 操作。

将按钮链接到 unwindToList: 操作

  • 在项目导航器中,选择 Main.storyboard。
  • 在画布上,按住 Control 从 Cancel 按钮拖动到 待办事项场景停靠栏。
  • [...]
  • 一个菜单出现在拖动结束的位置。选择 unwindToList: 从快捷菜单。这是您刚刚添加到 XYZToDoListViewController.m 文件。这意味着当取消 点击按钮,segue 将展开,此方法将是 调用。”

【问题讨论】:

    标签: ios storyboard segue


    【解决方案1】:

    只有当你有一个知道如何处理这些事件的方法时,你才能这样做。此方法必须具有以下签名结构:

    - (IBAction)finishedDoingWhatever:(UIStoryboardSegue *)sender;
    

    请注意,它必须是 IBAction,并且它需要 segue 作为参数。一旦你这样做了,弹出窗口应该会从退出图标出现。

    【讨论】:

    • 我不知道您可以这样做以从情节提要中弹出/关闭。您需要有一个空的方法实现才能使其正常工作,这似乎很糟糕。
    • @Robert:不一定。由于参数是 UIStoryboardSegue,因此该实例将具有属性sourceViewController,它指的是您要关闭的视图控制器。来自该视图控制器的任何(公共)数据都可以用于此方法中的处理。这比使用委托进行基本的呈现/关闭要简单得多。
    • 感谢您的快速回复!我不小心使用了错误的签名: - (IBAction)finishedDoingWhatever:(UIStoryboard *)sender;现在一切都按预期工作:-)
    【解决方案2】:

    写完 unwindToList 方法后,您是否尝试过保存 XYZToDoListViewController.m?

    我刚刚添加了另一个展开方法,它只在保存视图控制器后出现在退出菜单中。

    【讨论】:

    • 感谢您的快速回复!我不小心使用了错误的签名: - (IBAction)finishedDoingWhatever:(UIStoryboard *)sender;现在一切都按预期工作:-)
    猜你喜欢
    • 2012-12-18
    • 2023-03-24
    • 1970-01-01
    • 2013-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多