我需要一些幫助來理解在UIView上使用contentStretch屬性。我會很感激1)關於如何達到我要去的效果的一些指導和2)關於如何使用這個屬性的任何全面文檔的參考。雖然我以爲我瞭解蘋果的文檔,但我現在看到我沒有。這是我想要做的。使用contentStretch拉伸UIView的一部分
我有一個自定義的UIView呈現一個看起來像圖一樣的視圖。下面。這個UIView的drawRect方法使用不同的顏色和效果來繪製左邊的內部框(帶有圓角和白色背景),並且影響其餘部分的視圖。此外,UIView的四個角不可拉伸(這將導致失真),所以我只需要拉伸UIView背景的中心。
我想將這個視圖增長成與圖b所示相似的形狀。下面。這樣做時,我只需要將白色框外部的視圖部分(或白色框右側)拉伸/重複,以增加UIView的高度。
在我所有的嘗試我只能夠產生影響類似於圖C視圖中的視圖和結果的整個寬度的strecth。
是否有可能對我來說,使用contentStretch達到我想要的效果(圖B)?是否還有其他一些技術我應該用於重新繪製整個視圖,或者重新繪製唯一的(或最佳)方法來解決這個問題?
感謝,
上面的數字有點誤導。它們只是我實際視圖的簡化線框(用於說明目的)。在我的實際視圖中,白色框是一個透明的(alpha = 0)窗口,所以我不知道如何使它成爲子視圖,並且它仍然像背景上的窗口一樣。至於將contentStretch矩形設置在白色方塊的下方和右側(這是我擔心我將不得不嘗試的),我沒有足夠的空間來做到這一點,因爲白色方塊下方的區域處於不可拉伸的區域(拉伸會導致背景變形)。 – kodie 2012-02-22 05:06:03
在這種情況下,只需使用'UIViewContentModeRedraw'並在'drawRect:'中繪製所需的內容即可。 – 2012-02-22 05:40:57
這就是我所擔心的,但也是我的預期。謝謝, – kodie 2012-02-22 17:43:18