代码之家  ›  专栏  ›  技术社区  ›  sk123

禁用快速uimenucontroller中uimenuitem的闪烁/闪烁

  •  0
  • sk123  · 技术社区  · 6 年前

    我怎样才能摆脱闪烁 UIMenuItems 在一个 UIMenuController ?我目前有复制和粘贴项目,但当我的应用程序在 UILongPressGestureRecognizer 它们开始闪烁。

    @objc func viewLongPressed(_ recognizer: UILongPressGestureRecognizer) {
        [...]
    
        UIMenuController.shared.setMenuVisible(true, animated: true)
    }
    

    在iOS中是否有这种实现?

    1 回复  |  直到 6 年前
        1
  •  1
  •   glyvox    6 年前

    这是因为 UILongPressGestureRecognizer 事件被识别 不断地 如果一直按识别器视图。调用 setMenuVisible(animated:) 方法 UIMenuController 反复引起你所描述的闪烁效果。

    要解决此问题,仅当识别器的状态为 .began .

    @objc func viewLongPressed(_ recognizer: UILongPressGestureRecognizer) {
        [...]
    
        if recognizer.state == .began {
            UIMenuController.shared.setMenuVisible(true, animated: true)
        }
    }
    
    推荐文章