0

我正在使用方法Core Graphics内部绘制一个形状-(void) drawRect。如何检测该形状内的触摸?

为了简单起见,当我触摸 时UIView,我应该(至少)能够检测到触摸是否在绘图内部。

我怎样才能做到这一点?

4

2 回答 2

1

用于UIBezierPath定义和绘制您的形状,然后您可以使用:

- (BOOL)containsPoint:(CGPoint)point

于 2013-05-30T09:11:15.560 回答
0

创建触摸事件:

- (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 更新按钮的位置。

于 2013-05-30T07:52:43.410 回答