我正在使用“CGContextAddEllipseInRect”方法绘制一个圆圈。之后我想点击圈子来处理一些事件。
没有得到任何方法。
请帮帮我。
答案 0 :(得分: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
。< / p>
答案 1 :(得分: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];
多数民众赞成。