2012-02-01 25 views
0

我想創建一個圓。這個圈子有四個部分,我想讓這個部分的每個部分都可以觸摸。在iOS中創建具有不同可觸摸區域的圓形

例如,如果我按部分1具有動作A,並且當我按下部2爲具有動作B等

我想我可以繪製用OpenGL圓或使用準備的圖像。

這怎麼辦?

+0

一個例子,我會建議你看看[「如何創建一個旋轉的輪子控制與UIKit的」(http://www.raywenderlich.com/9864/how - 創建一個旋轉輪控制與uikit)頁! – 2012-11-12 17:24:40

回答

1

爲什麼要用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 
+0

謝謝你的回答,但我不明白你的意思。你的意思是在矩形內繪製圓形?使用cos和sin角度來畫OpenGL中的圓是不是一樣?最簡單的方法是使用現成的圖像,但有沒有一種方法來實現它們? – JohnyG 2012-02-01 17:34:25

+0

'UIView'有一個名爲' - (void)drawRect:(CGRect)rect'的方法,您可以在其中繪製各種東西(您需要覆蓋它)。 – 2012-02-01 17:36:30

+0

與使用cos和sin角度在OpenGL中繪製圓形不一樣嗎?最簡單的方法是使用現成的圖像,但有沒有一種方法來實現它們? – JohnyG 2012-02-01 17:38:04