绘制一个以中心为触点的矩形

时间:2011-05-28 06:46:56

标签: iphone objective-c touch

我正在开发一个项目,我必须在其中创建一个标记屏幕。我要做的就是当用户触摸图像时,应该绘制一个矩形,假设中心点是触摸点。请建议我我应遵循的方法或一些示例代码。 任何建议将受到高度赞赏。 提前谢谢。

2 个答案:

答案 0 :(得分:1)

您可以使用中心点属性更改UIView中心点,

更改视图的center属性并重新绘制。

答案 1 :(得分:1)

有几种方法可以做到这一点,但我更喜欢使用图层来完成这项任务。为此,您必须将点击识别器附加到图像视图,并将标记图层作为子图层添加到手势处理程序中的图像视图图层。

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
[imageView addGesture:tap];
[tap release];

...

- (void)handleGesture:(UITapGestureRecognizer*)gesture {
    CALayer *newLayer = [CALayer layer];
    layer.bounds = layerBounds;
    layer.position = [gesture locationInView:gesture.view];
    layer.backgroundColor = layerBackgroundColor;

    [imageView.layer addSublayer:layer];
}

您必须为此工作添加QuartzCore框架,并#import <QuartzCore/QuartzCore.h>才能实现此目的。