iOS 记录之 isExclusiveTouch

本文介绍了iOS中isExclusiveTouch属性,说明了当设置为true时,控件会独占触摸事件,直到所有手指离开屏幕,其他控件无法响应事件。此外,还探讨了该属性在单个控件实例和类别设置中的应用,以及其在iOS 8.0+上的兼容性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

阐述

梳理现公司代码时发现 isExclusiveTouch 出现很多次,但是对其不是很熟悉,学习并记录一下。

 

记录

1 官方介绍

A Boolean value that indicates whether the receiver handles touch events exclusively.

Setting this property to true causes the receiver to block the delivery of touch events
to other views in the same window. The default value of this property is false.

简单的解释就是这个属性决定当前事件处理者(控件)在它处理事件的时候是否允许其它控件进行事件处理工作。

通俗讲:

当设置了 isExclusiveTouch = true 的控件(View)是事件的第一响应者,那么到你的所有手指离开屏幕前,其他的控件(View)是不会响应任何触摸事件的。

 

2 拓展

isExclusive 可以对单个控件实例设置,这样确保此控件实例对应的业务不会被其它事情所影响。

var button1 = UIButton()

button1.isExclusiveTouch = true

isExclusive 也可以统一设置控件,这样确保这个类型的控件对应的业务不会产生交错。(预防猴子测试) 如: 

UIButton.appearance().isExclusiveTouch = true

当然,如果要设置类别的东西比较多,直接设置全局父类也是可行的。

UIView.appearance().isExclusiveTouch = true

 

3 注意

isExclusiveTouch 仅支持 iOS 8.0+ 

 

引用

https://www.jianshu.com/p/14ad9c94557c

https://www.jianshu.com/p/8c505df3b16d

https://www.jianshu.com/p/9140db4b6f76

https://zhidao.baidu.com/question/306391558465685124.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值