我UILabel
的两侧都有UIPageControl
,如下图所示:
我发现点击UIPageControl
点的两侧会进展,即不在我的箭头上而不是触发我的方法。但是没有其他任何改变,所以我在isUserInteractionEnabled
上将false
设置为UIPageControl
。
我连接了(通过UITapGestureRecognizer
)上面的另一个UILabel
,它启动了一个方法。
但是UILabel
旁边的UIPageControl
不起作用。注意:我在此元素上设置isUserInteractionEnabled
true
。 (我甚至暂时将元素更改为UIButton
,但它也无效 - 所以我又回到了我的UILabel
。
那么,有没有办法将UILabel
添加到UIPageControl
被触发的一侧?或者,隐形物体(在点击UIPageControl
的左侧或右侧时 - 可以像我的第二句中一样)是否可以连接到自定义方法?
更新
我添加了另一个单独的模式(相同的标题标签,按钮,但没有集合视图,也没有页面控件)。当我在中心按下标签时,它不再响应,但我暂时使用标题标签,它响应并启动我的方法。
谁能说出原因?
答案 0 :(得分:0)
我解决了这个问题!
我在类的顶部声明了大多数变量 - 以及UILabel - 在闭包块中,如下所示:
let myLabel: UILabel = {
{
let view = UILabel()
view.translatesAutoresizingMaskIntoConstraints = false
view.isUserInteractionEnabled = true
view.textColor = UIColor.blue
return view
}
在此封闭内,我有 view.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(doMyLabelMethod(_:))))
和 view.isUserInteractionEnabled = true
,当我将它们移出封口并将它们直接放在上方时addSubview(myLabel)
它被解雇了。
所以变量闭合很好地包含许多敷料,但不包含手势识别器!