0

如何摆脱UIMenuItemsin a的闪烁/闪烁UIMenuController?我目前有复制和粘贴项目,但是当我的应用程序在 a 的操作中显示菜单时UILongPressGestureRecognizer,它们开始闪烁。

@objc func viewLongPressed(_ recognizer: UILongPressGestureRecognizer) {
    [...]

    UIMenuController.shared.setMenuVisible(true, animated: true)
}

在 iOS 中有没有这方面的实现?

4

1 回答 1

1

这是因为如果您继续按下识别器视图,UILongPressGestureRecognizer事件会不断得到识别。重复调用 的setMenuVisible(animated:)方法UIMenuController会导致您描述的闪烁效果。

要解决此问题,仅当识别器的状态为 时才显示菜单.began

@objc func viewLongPressed(_ recognizer: UILongPressGestureRecognizer) {
    [...]

    if recognizer.state == .began {
        UIMenuController.shared.setMenuVisible(true, animated: true)
    }
}
于 2018-11-20T15:06:01.817 回答