【问题标题】:IBAction not called in Mac Catalyst project在 Mac Catalyst 项目中未调用 IBAction
【发布时间】:2020-02-28 20:48:13
【问题描述】:

我在 Interface Builder .xib 文件中有一些工具栏按钮,但单击它们不会在我的视图控制器中调用它们对应的 IBAction 方法。

我知道视图控制器已连接到笔尖,因为在视图控制器中这样的测试代码具有预期的结果:

self.saveButton.title = @"foo";

当我单击按钮时,它显示选定状态,但当我释放它时没有任何反应。方法定义是这样的……

- (IBAction)save:(UIButton *)sender;

...我在 Interface Builder 的 Connections Inspector 中看到了连接。我还有其他可以正常工作的按钮,但我看不出这个有什么不同。

【问题讨论】:

    标签: ios xcode ibaction mac-catalyst


    【解决方案1】:

    我在 IBAction 方法中的 sender 参数类型错误。我不知何故有这个:

    - (IBAction)save:(UIButton *)sender;
    

    但是由于一个条形按钮项正在调用它,它应该是:

    - (IBAction)save:(UIBarButtonItem *)sender;
    

    更新代码后,我不得不在 Interface Builder 中取消链接并重新链接按钮。然后就成功了!

    多年来我一直在 iOS 上使用此代码,没有出现任何问题,但显然 Mac Catalyst 平台对此类错误的容忍度较低。

    我还没有看到很多 Mac Catalyst 问题发布,所以希望这会对处于相同情况的人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-05
      • 1970-01-01
      • 1970-01-01
      • 2011-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多