gpt4 book ai didi

ios - 上下文菜单 IBAction 在 Xcode 7 Beta 中未触发

转载 作者:行者123 更新时间:2023-12-01 17:50:53 25 4
gpt4 key购买 nike

当我将现有的 iOS 应用程序/WatchKit 应用程序从 Swift 1.x/WatchKit 1.x 转换为 Swift 2.0/WatchKit 2.0(测试版)时,我最初在 Xcode 测试版中发现了这个问题。一般问题:在模拟器中运行 WatchKit 应用程序时,不会为 MenuItems 调用 IBAction 函数。刚刚在 Xcode 7 beta 4 上遇到了问题。

重现步骤:

  • 在 Xcode 7b3 中创建一个新的“带有 WatchKit 应用的 iOS 应用”项目。进入
    WatchKit App 的 Interface.storyboard 的伴随 View 模式。
  • 您应该在
    InterfaceController.swift 文件实现
    WK接口(interface) Controller 。
  • 将“菜单”拖到 Storyboard 中的界面 Controller 上。
    那里应该已经有一个菜单项。
  • 添加另一个菜单项。
  • 将第一项的标题设置为“菜单 A”并将其图像设置为
    “接受”。
  • 对第二个项目执行相同的操作,但将其称为“菜单 B”。
  • 从每个菜单项控制拖到 InterfaceController.swift
    并将相应的 IBActions 命名为指示哪个
    manu 从那里。
  • 将打印语句添加到 willActivate 函数以及每个
    IBA Action 。
  • 使用模拟器在调试器中运行。
  • 最终连接后(经过几次错误启动),选择
    模拟器中的菜单项几次。

  • 预期结果:
    我希望 IBActions 被调用。

    实际结果:
    没有命中任何 IBAction 断点,也没有激活 IBAction print() 语句。

    版本:
    版本 7.0 beta 3 (7A152u)

    我搜索了 developer.apple.com 和 StackOverflow 上的论坛,发现没有提到这个问题,也没有在发行说明中。

    最佳答案

    好吧,事实证明“问题”有一个“解决方法”。首先,我在 上运行2010 款 MacBook Pro .在 Xcode 6.x 中,模拟器中的“强制触摸”是使用持续的“真实单击”完成的(即使您为触控板启用了单击单击,要获得强制触摸,您必须实际激活触摸板按)。轻触或在触控板上短按“真实点击”可以启动浅触摸。

    在 Xcode 7 beta 上, watch 模拟器的行为不再遵循这种范式;大概是因为他们利用了较新的 Mac 笔记本电脑上的强制触摸。相反,要在新的 Xcode 7 beta 模拟器上测试菜单,您必须在非强制触控 Mac 上执行以下操作:

  • 将 Watch 模拟器强制触摸切换到“深度”:Hardware => Force
    触摸压力 => 深按 (cmd-shift-2)。
  • “True click”界面 View 调出上下文菜单 View
  • 将 watch 模拟器强制触摸切换到“浅”:硬件 =>
    强制触摸压力 => 浅按 (cmd-shift-1)。
  • 菜单上的“True click”将其选中。

  • 请注意,即使在触控板首选项中启用,单击触摸也不适用于任何这些操作。另请注意,当您无意中使用“深按”尝试选择菜单时的视觉反馈;它看起来几乎就像你已经选择了它!

    关于ios - 上下文菜单 IBAction 在 Xcode 7 Beta 中未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31622159/

    25 4 0