UIBarButtonItem属性之间的区别

问题描述

| 之间的区别是什么:
myBarButtonItem.enabled = NO;
myBarButtonItem.userInteractionEnabled = NO;
每次按钮变灰吗?     

解决方法

        从苹果文档开始,uibarbuttonitem不具有userInteractionEnabled属性。由于它继承自UIBarItem类引用,因此也没有userInteractionEnabled属性。 并且如果您使用这行line2ѭ 您的应用程序将崩溃。 如果您不希望按下按钮,请使用以下命令:-
myBarButtonItem.enabled = NO;
另请参阅苹果文档。 对于常规按钮:- myButton.userInteractionEnabled =否;不会对您的图像造成任何影响,您也不能同时按下它。 myButton.enabled =否;将导致阴影出现在您的按钮图像上,您也不能同时按下它。     ,        我通读了文档,这是我的发现。
UIButton
UIControl
继承布尔属性
enabled
  一个布尔值,确定   是否启用接收器。      指定是进行控制   已启用;否则,请指定否   它禁用了。默认值为是。   如果启用状态为“否”,则   控件会忽略触摸事件,并且   子类的绘制可能有所不同。
UIControl
UIView
继承布尔属性
userInteractionEnabled
:   一个布尔值,确定   用户事件是否被忽略,以及   从事件队列中删除。      设置为NO时,用户事件-如   触摸和键盘-用于   视图将被忽略并从   事件队列。设置为YES时,事件   通常交付给视图。   默认值为是。 由此我得出结论
button.userInteractionEnabled = NO
表示按钮看起来正常,但对触摸不响应(来自
UIView
继承)。
button.enabled = NO
表示按钮为灰色,并且不响应触摸(来自(5ѭ继承)。     ,        
UIBarButtonItem
没有名为
userInteractionEnabled
的属性,只有
UIView
及其子类具有该属性。 简而言之,
myBarButtonItem.userInteractionEnabled = NO;
不会使按钮变灰,这会使您的程序崩溃。 但是,将
enabled
属性设置为
NO
会使按钮变灰。