2

我正在使用“CGContextAddEllipseInRect”方法画一个圆圈。之后,我想通过单击圆圈来处理一些事件。

没有得到任何方法。

请帮我。

4

2 回答 2

5

我知道这个问题很老,但我还是想把我的两分钱扔在那里。正如建议的那样,我认为使用按钮要容易得多Jennis。但是,他的按钮不是很圆。

需要更改以使按钮变为圆形的属性是.cornerRadius。以下是使用 Jennis 的代码示例可以做到这一点的方法:

    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    button.layer.backgroundColor = [UIColor colorWithWhite:0.2f alpha:.5f].CGColor;   
    button.frame = CGRectMake(x, y, width, height);
    button.layer.cornerRadius = 20; //key to rounded button
    [[self view] addSubview:button];
    [button addTarget:self action:@selector(yourEventTobeFired) forControlEvents:UIControlEventTouchUpInside];

以及此代码的结果输出:

在此处输入图像描述

这个按钮是可点击的,点击后会调用方法yourEventTobeFired

如果您拒绝使用按钮,那么我建议gesture recognizer您在自定义绘图中添加一个,因为我不相信您可以添加action一个按钮。

于 2013-03-16T03:48:23.573 回答
0

假设您在 UIView 中绘制这个圆圈,您可以创建自定义按钮并将其添加到您的视图中。

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(100, 100, 100, 30);
[yourView addSubView:button];
[button addTarget:self action:@selector(yourEventTobeFired) forControlEvents:UIControlEventTouchUpInside];

而已。

于 2012-05-05T11:26:41.133 回答