首先:我们先总结一下控件不能交互的原因有哪些?
// 1.控件的用户交互被关闭了! -> userInteractionEnable = NO[用户交互]!// 2.控件隐藏了! hidden = YES;// 3.控件的透明度 alpha <= 0.01; // 4.父控件的用户交互关了! -> 子控件也就不能响应了!// 5.如果子控件,超出了父控件的范围! -> 超出父控件区域的部分,不能接受用户交互! // 6.UIImageView默认是关闭用户交互的!添加需要做事情的控件时需要打开用户交互!
所以,当一个控制不能交互时,我们需要分析一下:
// 1.看当前控件的用户交互是否被关闭?// 2.看当前控件的父控件用户交互是否被关闭?// 3.看当前控件显示的位置,是否超出了父控件!// 4.看当前控件的父控件,是否超出了父控件的范围!
问题来了:如要一个控件超出了父控件的范围,超出部分是不能点击的,那么我们怎么办才能让其能点击呢,如下图:
不卖关子了,我们先来说说解决方法,其实很简单,重写一个方法即可:
1 override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {2 // composeBtn就是+号按钮3 return composeBtn.frame.contains(point)4 }
为什么呢能解决这个问题呢,是“任性的小丸子”帮了我,
引用地址:http://www.cnblogs.com/WZLpq-home/p/5616309.html
谢谢小丸子。