2014-12-09 58 views
0

這是一個UIView,它是黃色的矩形,我重寫drawRect:方法繪製紅色區域,我添加了UITapGesture等,但我只想響應紅色區域,如果用戶在黃色內部單擊矩形,但不在紅色區域,我不會迴應。我是否需要手動獲取位置並計算它是否在範圍內?任何更聰明的方式呢?謝謝。 enter image description here如何限制用戶與UIView內部區域的交互?

+0

如果你不需要黃色矩形,你可以做什麼而不是重寫'drawRect'方法,只需旋轉UIView並添加一個手勢識別器到視圖。或者創建兩個視圖,並讓最內層​​的視圖對觸摸做出響應。這可能會更容易。 – KerrM 2014-12-09 11:30:10

+0

我想,它會很容易地創建你的紅色矩形作爲一個視圖,旋轉此視圖redRectangleView 45度。並添加到此視圖的手勢。但有幾種方法。 – 2014-12-09 11:30:12

+0

而不是重寫uiview中的直接方法併爲獲取觸摸座標編寫邏輯。嘗試在帶有黃色邊框的uiview中添加紅色填充顏色的其他視圖。它將簡化您的邏輯,因爲您只需在紅色視圖上添加手勢即可。 – 2014-12-09 11:30:56

回答

0

我知道的唯一解決方案是實現gestureRecognizer:shouldReceiveTouch:委託方法,並驗證您的觸摸是在紅色矩形內/外。