我正在使用方法Core Graphics
内部绘制一个形状-(void) drawRect
。如何检测该形状内的触摸?
为了简单起见,当我触摸 时UIView
,我应该(至少)能够检测到触摸是否在绘图内部。
我怎样才能做到这一点?
我正在使用方法Core Graphics
内部绘制一个形状-(void) drawRect
。如何检测该形状内的触摸?
为了简单起见,当我触摸 时UIView
,我应该(至少)能够检测到触摸是否在绘图内部。
我怎样才能做到这一点?
用于UIBezierPath
定义和绘制您的形状,然后您可以使用:
- (BOOL)containsPoint:(CGPoint)point
创建触摸事件:
- (IBAction)largeButtonDragInside:(UIButton *)sender
{
[_myButton addTarget:self action:@selector(draging:withEvent:) forControlEvents: UIControlEventTouchDragInside];
}
- (void)draging:(UIControl *)c withEvent:ev {
UITouch *touch = [[ev allTouches] anyObject];
currentTouchPoint = [touch locationInView:_myButton];
NSLog(@"Draging x: %f y: %f", currentTouchPoint.x, currentTouchPoint.y);
}
根据 currentTouchPoint x & y 更新按钮的位置。