关于userInteractionEnabled的属性的理解

userInteractionEnabled


A Boolean value that determines whether user events are ignored and removed from the event queue.

译:一个布尔值,它决定了是否用户触发的事件被该视图对象忽略和把该视图对象从事件响应队列中移除。


@property(nonatomic, getter=isUserInteractionEnabled) BOOL userInteractionEnabled

userInteractionEnabled的getter方法是isUserInteractionEnabled

我们可以通过isUserInteractionEnabled方法,得到userInteractionEnabled的布尔值。


Discussion
When set to NO, user events—such as touch and keyboard—intended for the view are ignored and removed from the event queue. When set to YES, events are delivered to the view normally. The default value of this property is YES.

译:当视图对象的userInteractionEnabled设置为NO的时候,用户触发的事件,如触摸,键盘等,将会被该视图忽略(其他视图照常响应),并且该视图对象也会从事件响应队列中被移除。 当userInteractionEnabled设为YES时,则事件可以正常的传递给该视图对象。 userInteractionEnabled的属性默认值就是YES。

ps:响应者链是能够响应事件的对象组成的链,事件在该链上传递,最终结果事件或被处理或被抛弃。所以一个对象在不在响应者链里是其能否响应事件的首要前提条件!


During an animation, user interactions are temporarily disabled for all views involved in the animation, regardless of the value in this property. You can disable this behavior by specifying the UIViewAnimationOptionAllowUserInteraction option when configuring the animation.

译:在播放动画的时候,不论userInteractionEnabled的值是YES还是NO,用户交互会被临时设置为不支持交互的状态。

如果在播放动画的时候,你想让对象依然保持可交互状态,那么你需要设置动画的UIViewAnimationOptions的属性值为UIViewAnimationOptionAllowUserInteraction。


Note: Some UIKit subclasses override this property and return a different default value. See the documentation for that class to determine if it returns a different value.

注意:一些UIKit的子类重写了这个属性,而导致返回不同的默认值。具体的你 需要看所选择的类的文档,看是否userInteractionEnabled被设置了不同的默认返回值。


Declared In UIView.h
  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值