setEnabled() 和 setClickable() 的区别

Posted Echo-BOX

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了setEnabled() 和 setClickable() 的区别相关的知识,希望对你有一定的参考价值。

      工作中有时候经常会遇到控制按钮是否可点击的时候,setEnabled() 和 setClickable() 都可以做到,只要将它们设置成false ,按钮就不可点击,设置成true,按钮就可以点击。

       它们的区别在于:

       setClickable():设置成true时,按钮为可点击,设置为false时,按钮不可点击,不能响应点击事件,但此时如果setEnabled()为true,那么按钮即使不可点击(setClickable()为false),也会产生变化(一闪一闪)。

       setEnabled():设置成true时,相当于激活了按钮,按钮的状态不再是死的,而是会对触摸或者点击产生反应,并且可以响应一些触发事件。而设置成false时,按钮是灰色的,无论是否可点击(即使将setClickable()设置成true),都无法响应任何触发事件。

       其实区别就在上面说的几个小地方,总的来看,setEnabled()相当于总开关,控制着按钮的状态,而setClickable()相当于具体的某个开关,控制这个开关是否可以点击。

以上是关于setEnabled() 和 setClickable() 的区别的主要内容,如果未能解决你的问题,请参考以下文章

iOS UIButton、setEnabled 和 button.hidden 不起作用

setEnabled() 与 setClickable() 有啥区别?

RadioGroup.setEnabled(false) 无法按预期工作

button.setEnabled(false) 在 ViewPager 中不起作用

UITextView setEnabled:导致保留计数增加?

UIButton setEnabled 不起作用