我正在重写 pressesBegan
以接收 Select 按下操作。当焦点位于 UIButton
上时,Siri Remote 的菜单按钮不会退出我的应用程序。如果没有 UI 元素获得焦点,菜单按钮将按预期工作。
当焦点位于 UIButton
上时,如何接收菜单按钮按下操作?
override func pressesBegan(presses: Set<UIPress>, withEvent event: UIPressesEvent?) {
for item in presses {
if item.type == .Select {
print("Click")
}
if item.type == .Menu {
print("Menu Button")
super.pressesBegan(presses, withEvent: event)
}
}
}
最佳答案
UIButton
仅响应 Remote 上的 .Select
按钮。您可以使用点击手势识别器捕获菜单按钮。例如:
let tapRecognizer = UITapGestureRecognizer(target: self, action: #selector(ClassName.menuPressed()))
tapRecognizer.allowedPressTypes = [NSNumber(integer: UIPressType.Menu.rawValue)];
view.addGestureRecognizer(tapRecognizer)
然后实现:
func menuPressed() {
// do something
}
关于swift - 当 UIButton 获得焦点时,Siri Remote 的菜单按钮不会退出应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37685620/