2009-09-10 128 views

回答

0

我沒有測試它,但如果繞了一圈周圍的空間設置爲0的α,那麼也許只有圈子會接受觸摸。您可能必須關閉視圖的isOpaque,並且沒有背景顏色。

如果這不起作用,那麼你將不得不處理水龍頭的位置,並編寫代碼,看看它是否在圓形區域內。

0

只需在該圓上放置一個帶有0.0 alpha的自定義不可見按鈕,這樣按鈕將始終能夠檢測到觸摸。

7

如果您具有該圓圈的CGPath,則可以獲取用戶手指落入touchesBegan的CGPoint,並使用以下代碼檢查它是否屬於此CGPath。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
    UITouch *touch = [[event allTouches] anyObject]; 
    CGPoint location = [touch locationInView:self.view]; 
    // Depending on your code, you may need to check a different view than self.view 

    // You should probably check the docs for the arguments of this function-- 
    // It's been a while since I last used it 
    if (CGPathContainsPoint(yourCircle, nil, location, nil)) { 
    // Do something swanky 
    } else { 
    // Don't do teh swank 
    } 
} 
+1

這個答案應該被接受。 – rayfranco 2012-06-16 22:50:16