【问题标题】:Xcode 9 and iOS 11 SDK:UIToolbar buttons actions are triggeringXcode 9 和 iOS 11 SDK:UIToolbar 按钮操作正在触发
【发布时间】:2017-10-25 17:04:04
【问题描述】:

我有 UIToolbar,我正在使用以下语句使用 Nib 进行初始化。

UIToolbar *toolbar = [[[NSBundle mainBundle] loadNibNamed:@"MyToolbar" owner:self options:nil] objectAtIndex:0] // this is an instance variable.

在 nib 中,它有两个用于操作的按钮,我正在设置这样的操作。

 [(UIButton *)[toolBar viewWithTag:1234] addTarget:self action:@selector(goalTapped:) forControlEvents:UIControlEventTouchUpInside];
    [(UIButton *)[toolBar viewWithTag:12345] addTarget:self action:@selector(rewardsTapped:) forControlEvents:UIControlEventTouchUpInside];

即使我使用 Xcode 8.3.3 构建,这些操作也会在 iOS 11 上触发

但是当我使用 XCode 9 构建应用程序时,这些操作不会触发。

可能是什么原因?

【问题讨论】:

  • 你做了什么调试? toolbar(或toolBar?)是非零吗? [toolBar viewWithTag:1234] 是否返回非零值?
  • 我已经调试过了,这里没有什么是零,甚至工具栏和带有标签的按钮。正如我已经提到的,它只发生在 iOS 11 SDK 和 Xcode 9 的组合中
  • 在 Xcode 9 中,nil 什么都不是?
  • 嗯,Xcode 9 什么都没有。
  • 您何时加载工具栏并添加目标?喜欢awakeFromNib?

标签: ios objective-c ios11 xcode9


【解决方案1】:

我不知道原因,但是当我从 UIToolBar 更改为 UIView 时,它开始工作了。

问题特定于 Xcode 9 和 iOS 11 SDK。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 2018-04-03
    • 2016-10-11
    • 2018-03-19
    • 1970-01-01
    • 1970-01-01
    • 2018-01-04
    相关资源
    最近更新 更多