我没有出现man 7 groff
,并且已经检查了先前问题中的所有建议。事实证明,在设置菜单控制器之前,我实现了menuController
的{{1}}会显示imageView
并在调用UILongPressGestureRecognizer
时返回False
。
我正在用swift 4进行编码,无法弄清楚如何使imageView返回True来调用.becomeFirstResponder
。救命!
.becomeFirstResponder
我的穴居人调试打印语句输出:
longPressOnImage
可以辞退第一响应者
将FALSE更改为FirstResponder
位置=(207.0,82.0)
菜单现在应该可见
答案 0 :(得分:0)
创建一个自定义imageView类,并像这样覆盖“ canBecomeFirstResponder”属性:
class ResponsiveImage : UIImageView{
override var canBecomeFirstResponder: Bool{
return true
}
}
使用此ResponsiveImage类型,您的代码将可用:)
答案 1 :(得分:0)
谢谢你阿德里。您的答案就是解决我的问题的方法。 我曾在其他文章中阅读过有关覆盖var canBecomeFirstResponder的类似问题的信息,但要么忽略了它,要么没有明确表明需要创建自定义UIImageView类。
只是为了向像我这样的新手讲清楚,storyBoard中imageView的类及其viewController中的@IBOutlet必须键入为ResponsiveImage。如果仅更改其中之一,则会报告类型转换错误。
非常感谢您结束我的无聊时光! :-)