userInteractionEnabled是UIView类中的一个属性,而enabled是UIControl类中的一个属性.
UIControl继承与UIView.
如果视图隐藏或者userinteractions(用户交互,也就是userInteractionEnabled属性).或者alpha < 0.01.hitTest会自动忽略(往下继续传递).
而设置enabled为NO的话会禁止该控件的交互,并且.事件不会穿透.
在实际应用中,例如,UISwitch控件,放在UITableViewCell上,想实现,UISwitch不接受点击事件。而是通过 UITableViewCell点击来进行处理事件,得到的结果再用Switch展现。
如果用switch.enable = NO;来实现的话,switch.上面会有一层灰白层,不是我们想要的结果。
而用switch.userInteractionEnabled = NO.就能很好地满足我们的需求