最近在写利用UISwitch控件实现一个简单的遮罩功能的时候发现点击UISwitch控件没有任何反应,后来才了解是控件的用户交互状态的问题,在这里简单的记录和说明一下。
iOS开发中,userInteractionEnabled 表示用户交互的属性,有些默认状态是开启的有些则是关闭的,你需要只要他的默认状态,然后根据你的需求去打开或者关闭这个属性。比如:
UIButton的此属性是默认开启的,而UIImageView和UILabel的此属性是默认关闭的,所以当UIImageView或者UILabel上面加按钮和和手势是要打开用户交互这个属性的,当然UIView的默认用户交互是YES
imageview.userInteractionEnabled = YES; label.userInteractionEnabled = YES;
举个例子,比如两个view一个S 一个B ,S覆盖在了B上面,所以B就不能响应事件,这时将S的userInteractionEnabled属性设置为NO ,而B的userInteractionEnabled属性设置为YES,这样,B就可以进行用户交互。
网友评论