edo*_*o42 10 cocoa-touch objective-c
有什么区别:
myBarButtonItem.enabled = NO;
Run Code Online (Sandbox Code Playgroud)
和
myBarButtonItem.userInteractionEnabled = NO;
Run Code Online (Sandbox Code Playgroud)
按钮每次都变灰吗?
Gyp*_*psa 12
从apple文档中,uibarbuttonitem没有userInteractionEnabled属性.因为它继承自UIBarItem类引用,所以它也没有userInteractionEnabled属性.
而且,如果您使用此行,myBarButtonItem.userInteractionEnabled = NO;
您的应用程序将崩溃.
如果您不想按下按钮,请使用: - myBarButtonItem.enabled = NO;
另请参阅Apple文档.
对于常规按钮: -
myButton.userInteractionEnabled = NO; 将不会对您的图像图像产生任何影响,也无法按下它.
myButton.enabled = NO; 将导致阴影出现在您的按钮图像上,您也无法按下它.
我仔细阅读了文档,这是我的发现.
UIButton
继承自UIControl
boolean属性enabled
一个布尔值,用于确定接收器是否已启用.
指定YES以启用控件; 否则,指定NO以禁用它.默认值为YES.如果启用状态为NO,则控件忽略触摸事件,子类可能以不同方式绘制.
UIControl
继承自UIView
boolean属性userInteractionEnabled
:
一个布尔值,用于确定是否忽略用户事件并从事件队列中删除.
设置为NO时,将忽略用于视图的用户事件(如触摸和键盘),并将其从事件队列中删除.设置为YES时,事件将正常传递到视图.默认值为YES.
从此我得出结论
button.userInteractionEnabled = NO
表示该按钮看起来正常但不响应触摸(来自UIView
继承).
button.enabled = NO
表示按钮变灰并且不响应触摸(来自UIControl
继承).
归档时间: |
|
查看次数: |
2715 次 |
最近记录: |