我想創建一個圓。這個圈子有四個部分,我想讓這個部分的每個部分都可以觸摸。在iOS中創建具有不同可觸摸區域的圓形
例如,如果我按部分1具有動作A,並且當我按下部2爲具有動作B等
我想我可以繪製用OpenGL圓或使用準備的圖像。
這怎麼辦?
我想創建一個圓。這個圈子有四個部分,我想讓這個部分的每個部分都可以觸摸。在iOS中創建具有不同可觸摸區域的圓形
例如,如果我按部分1具有動作A,並且當我按下部2爲具有動作B等
我想我可以繪製用OpenGL圓或使用準備的圖像。
這怎麼辦?
爲什麼要用OpenGL繪製圓?
你也可以繼承一個UIView
,做您的繪圖中-drawRect:
和使用UIView
熱播檢測與來確定觸摸位置-touchesBegan:...
等
如果你想要的東西更輕巧,你可以實現與CALayer
相同的S和它的方法是-hitTest:
。
下面是繪製
@implementation MYView
- (void)drawRect:(CGRect)rect {
[[UIColor blackColor] set];
UIBezierPath *circle = [UIBezierPath bezierPathWithOvalInRect:self.bounds];
[circle fill];
}
@end
謝謝你的回答,但我不明白你的意思。你的意思是在矩形內繪製圓形?使用cos和sin角度來畫OpenGL中的圓是不是一樣?最簡單的方法是使用現成的圖像,但有沒有一種方法來實現它們? – JohnyG 2012-02-01 17:34:25
'UIView'有一個名爲' - (void)drawRect:(CGRect)rect'的方法,您可以在其中繪製各種東西(您需要覆蓋它)。 – 2012-02-01 17:36:30
與使用cos和sin角度在OpenGL中繪製圓形不一樣嗎?最簡單的方法是使用現成的圖像,但有沒有一種方法來實現它們? – JohnyG 2012-02-01 17:38:04
一個例子,我會建議你看看[「如何創建一個旋轉的輪子控制與UIKit的」(http://www.raywenderlich.com/9864/how - 創建一個旋轉輪控制與uikit)頁! – 2012-11-12 17:24:40