- (void)drawRect:(CGRect)rect {
|
CGContextRef context = UIGraphicsGetCurrentContext();
|
CGRect myFrame = self.bounds;
|
|
// Set the line width to 10 and inset the rectangle by
|
// 5 pixels on all sides to compensate for the wider line.
|
CGContextSetLineWidth(context, 10);
|
CGRectInset(myFrame, 5, 5);
|
|
[[UIColor redColor] set];
|
UIRectFrame(myFrame);
|
} |
userInteractionEnabled设置为YES可以让这些控件(比如UILabel)支持事件响应。同时,也可以通过设置
UIApplication的beginIgnoringInteractionEvents和endIgnoringInteractionEvents方法来使整个应用不接收或者重新开始接收事件。
注意:当UIView的动画在执行的时候往往会使触摸事件失效。可以通过配置动画参数来覆盖这个行为。UIKit使用
hitTest:withEvent:和pointInside:withEvent:方法来确定一个触摸事件是否发生在指定区域内。大多数时候我们不需要重载这个方法,但是有时候也会需要,比如:阻止子视图对捕捉到的事件做操作。