UIView可不可以设置相应事件范围。比如一个正方向的view,我想让它左边部分响应事件。右边部分不响应事件,但可以把事件传递给后面的responder去响应。
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event;
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event;
-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
CGRect rect = CGRectMake(0, 0, self.view.bounds.size.width/2, self.view.bounds.size.height);
if (CGRectContainsPoint(rect, point))
return [super hitText:point withEvent:event];
else
return nil;
}
正文完