对于 iPhone – 但不是 iOS 模拟器 – UIToolbar 的 UIBarButtonItems 只会在长按时突出显示,而不是在点击时突出显示
For iPhone – but not iOS Simulator – UIToolbar's UIBarButtonItems will highlight only on long press, rather than on tap
我有一个 iPhone 5s 运行 iOS 10.3.1。在新的 UIViewController 中,我设置 self.toolbarItems
如下:
self.toolbarItems = [
UIBarButtonItem(title: "Hi", style: .plain, target: self, action: #selector(sayHi)),
UIBarButtonItem(barButtonSystemItem: .refresh, target: self, action: #selector(redoIt))
]
在 iOS 模拟器上,单击其中任何一个都会立即使 barButtonItem 突出显示。但是,在我的 iPhone 上,按钮只会在执行长按(可能半秒长)时突出显示;单击会激活按钮的操作,但不会突出显示它。这是预期的行为吗?
是的,这是预期的 UIBarButtonItem 行为。您可以在默认的苹果应用程序中尝试不同的栏按钮,如联系人、照片等。您会看到相同的行为,您必须按住它一点才能看到突出显示的状态。
如果你真的想要它,你必须做一个自定义实现。
看看 UIControlEvents
我有一个 iPhone 5s 运行 iOS 10.3.1。在新的 UIViewController 中,我设置 self.toolbarItems
如下:
self.toolbarItems = [
UIBarButtonItem(title: "Hi", style: .plain, target: self, action: #selector(sayHi)),
UIBarButtonItem(barButtonSystemItem: .refresh, target: self, action: #selector(redoIt))
]
在 iOS 模拟器上,单击其中任何一个都会立即使 barButtonItem 突出显示。但是,在我的 iPhone 上,按钮只会在执行长按(可能半秒长)时突出显示;单击会激活按钮的操作,但不会突出显示它。这是预期的行为吗?
是的,这是预期的 UIBarButtonItem 行为。您可以在默认的苹果应用程序中尝试不同的栏按钮,如联系人、照片等。您会看到相同的行为,您必须按住它一点才能看到突出显示的状态。
如果你真的想要它,你必须做一个自定义实现。 看看 UIControlEvents