在iOS中创建具有不同可触摸区域的圆圈

时间:2012-02-01 17:14:50

标签: ios cocoa-touch

我想创建一个圆圈。这个圆圈将有四个部分,我想让这个部分中的每一个都可以触摸。

例如,如果我按第1部分有动作A,按第2部分有动作B等等。

我想我可以使用openGL绘制圆圈或使用准备好的图像。

如何做到这一点?

1 个答案:

答案 0 :(得分:1)

为什么要用OpenGL绘制圆圈?

您可以对UIView进行子类化并在-drawRect:中进行绘制,并使用UIView点击检测来确定-touchesBegan:...等触摸位置。

如果您想要更轻量级的内容,可以使用CALayer-hitTest:方法实现相同的功能。

以下是绘图的示例

@implementation MYView

- (void)drawRect:(CGRect)rect {
  [[UIColor blackColor] set];
  UIBezierPath *circle = [UIBezierPath bezierPathWithOvalInRect:self.bounds];
  [circle fill];
}

@end