我想为用户触摸禁用 UIButton
.setEnabled
和 setUserInteractionEnabled
都可以做到这一点.哪个更好?它们有何不同?
I want to make a UIButton
disable for user touch. Both setEnabled
and setUserInteractionEnabled
can do this. Which is better? How are they different?
enabled
是UIControl
的一个属性,UIControl
是UIButton
.userInteractionEnabled
是 UIView
的一个属性(它是 UIControl
的超类).enabled
对对象的视觉状态有影响(默认为灰色),通常是禁用控件的首选方法——指示行为的视觉反馈是一件好事.
enabled
is a property of UIControl
, which is the superclass for UIButton
. userInteractionEnabled
is a property of UIView
(which is the superclass of UIControl
). enabled
has effects on the visual state of the object (grayed out, by default) and is generally the preferred method of disabling a control—visual feedback indicating behaviors is a good thing.
除此之外,没有太多实际的结果.与控件交互的代码更有可能检查按钮是否已启用,而不是它们的 userInteractionEnabled 属性是否已设置.因此,使用 enabled
更为传统.
There's not much practical upshot beyond that. Code that interacts with your controls is more likely to check if buttons are enabled than if their userInteractionEnabled property is set. Hence using enabled
is more conventional.
这篇关于哪个更好,setEnabled 或 setUserInteractionEnabled?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!