2

我最重要pressesBegan的是接收选择新闻。当焦点位于UIButton. 如果没有聚焦 UI 元素,则菜单按钮按预期工作。

当焦点位于 a 时,如何接收菜单按钮按下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)
        }
    }
}
4

1 回答 1

2

UIButton只响应.Select遥控器上的按钮。您可以使用轻击手势识别器来捕捉菜单按钮。例如:

let tapRecognizer = UITapGestureRecognizer(target: self, action: #selector(ClassName.menuPressed()))
tapRecognizer.allowedPressTypes = [NSNumber(integer: UIPressType.Menu.rawValue)];
view.addGestureRecognizer(tapRecognizer)

然后实现:

func menuPressed() {
    // do something
}
于 2016-06-07T17:39:42.743 回答