没有显示menuController并且无法弄清楚如何使View返回True以调用.becomeFirstResponder

时间:2019-03-19 07:08:44

标签: swift

我没有出现man 7 groff,并且已经检查了先前问题中的所有建议。事实证明,在设置菜单控制器之前,我实现了menuController的{​​{1}}会显示imageView并在调用UILongPressGestureRecognizer时返回False

我正在用swift 4进行编码,无法弄清楚如何使imageView返回True来调用.becomeFirstResponder。救命!

.becomeFirstResponder

我的穴居人调试打印语句输出:

longPressOnImage

可以辞退第一响应者

将FALSE更改为FirstResponder

位置=(207.0,82.0)

菜单现在应该可见

2 个答案:

答案 0 :(得分:0)

创建一个自定义imageView类,并像这样覆盖“ canBecomeFirstResponder”属性:

class ResponsiveImage : UIImageView{
    override var canBecomeFirstResponder: Bool{
        return true
    }
}

使用此ResponsiveImage类型,您的代码将可用:)

答案 1 :(得分:0)

谢谢你阿德里。您的答案就是解决我的问题的方法。 我曾在其他文章中阅读过有关覆盖var canBecomeFirstResponder的类似问题的信息,但要么忽略了它,要么没有明确表明需要创建自定义UIImageView类。

只是为了向像我这样的新手讲清楚,storyBoard中imageView的类及其viewController中的@IBOutlet必须键入为ResponsiveImage。如果仅更改其中之一,则会报告类型转换错误。

非常感谢您结束我的无聊时光! :-)