【发布时间】:2013-10-10 08:47:57
【问题描述】:
如果我使用UIView 的drawRect 方法画一个圆圈,如何检测它的触摸或点击?我有多个圈子,还必须编辑(更改颜色,...)选定的圈子。或者我必须使用另一种方法。 CoreGraphics, OpenGL 在这种情况下有用吗?
【问题讨论】:
-
你试过
touchesBegan吗? -
我应该如何得到那个被触摸的圆形对象,并在编辑后只重绘它?
-
存储圆的参数,如圆心位置(X和Y)和半径(R),然后在toucesBegan和其他触摸方法中,如果触摸的x和y匹配(X-x)^2 +(Y-y)进行计算)^2
-
您也可以添加一个子视图,在整个框架上绘制一个圆圈并在添加的视图上捕捉触摸
-
您不能使用
drawRect:来检测触摸事件。drawRect:用于绘图;没有其他的。还有其他处理事件的方法。
标签: ios objective-c uikit core-graphics