2012-03-19 70 views
1

所以這裏是場景,我想添加一個UIView在另一個UIView頂部的不規則多邊形的形狀。我使用UIView的drawRect方法繪製不規則多邊形。UIView的大小基於drawRect

我想知道如何使UIView框架的不規則多邊形?

顯然我不能使用initWithFrame,因爲它會給它一個矩形框架。

乾杯

回答

2

一個UIView的幀矩形。從UIView Class Reference頁:

框架矩形,它描述了圖的位置和大小 在它的父的座標系統。

@屬性(非原子)的CGRect框架

所以,你永遠不會讓視圖的不是CGRect其他frame什麼。但是,您可以使用做的只是將矩形用作多邊形的包圍矩形。繪製多邊形,使其恰好適合矩形內部,並使多邊形外部的區域保持透明。

+0

是的,但這樣可能會有重疊的多邊形彼此,因爲視圖比他們需要更大,並會相互重疊。我試圖做的是實現viewForAnnotation地圖,我需要給每個註釋一個多邊形形狀的自定義視圖,當多邊形輕敲,一個調用出現,不知道如果多邊形重疊會發生什麼彼此。有沒有其他方法? – stephen 2012-03-19 00:54:39

+3

在視圖中覆蓋'-pointInside:withEvent:',並且只有當點位於多邊形中時才返回YES。 – 2012-03-19 01:01:06