我在 uiview 中有一个 uilabel(以及其他标签)。我添加了一个手势,当点击标签时,我会执行一些操作。
不会触发该操作,但是如果我将标签放在 uiview 之外(意味着它不是 uiview 的子项),则它可以正常工作。我将它放回视图中,而不是停止触发动作。
知道为什么吗?
当标签在 uiview 内部时,它不会对手势做出反应,我不确定为什么(尽管 uiview 和标签都启用了“用户交互”)。
TIA
我在 uiview 中有一个 uilabel(以及其他标签)。我添加了一个手势,当点击标签时,我会执行一些操作。
不会触发该操作,但是如果我将标签放在 uiview 之外(意味着它不是 uiview 的子项),则它可以正常工作。我将它放回视图中,而不是停止触发动作。
知道为什么吗?
当标签在 uiview 内部时,它不会对手势做出反应,我不确定为什么(尽管 uiview 和标签都启用了“用户交互”)。
TIA
或者只是没有 UILabel 并且只有按钮的文本可见,这样您就不必拥有 UILabel 和 UIButton (从内存的角度来看)。
我认为这里的问题UILabel
是接收触摸事件而不是 UIView。尝试将以下代码(修改为适合您的标签,当然)添加到viewDidLoad
方法中:
myLabel.userInteractionEnabled = FALSE;
这应该允许触摸事件传递到 UIView。你为什么做这个?使用 a 会不会更容易UIButton
?
显然父控件存在问题,我重新绘制了视图,它工作正常。感谢您的意见。