我正在使用“CGContextAddEllipseInRect”方法画一个圆圈。之后,我想通过单击圆圈来处理一些事件。
没有得到任何方法。
请帮我。
我知道这个问题很老,但我还是想把我的两分钱扔在那里。正如建议的那样,我认为使用按钮要容易得多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
一个按钮。
假设您在 UIView 中绘制这个圆圈,您可以创建自定义按钮并将其添加到您的视图中。
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(100, 100, 100, 30);
[yourView addSubView:button];
[button addTarget:self action:@selector(yourEventTobeFired) forControlEvents:UIControlEventTouchUpInside];
而已。