2011-10-17 17 views

回答

0

您不得使用變換。最好設置UIView的框架。因爲這真的改變了視圖的高度。

view.frame = CGRectMake(0,0,100,200);

+0

我不想使用view.frame,因爲我想在drawRect或layoutSubView中更改UIView。 – Krishnan

+0

您可能不需要更改UIView上的任何內容。只需將視圖以適當的寬度/高度繪製到目標上下文中即可。 – WaiLam

+0

我有一個自定義的UIView。你能否詳細說明在目的地的圖紙視圖.. – Krishnan

3

事情是這樣的:

view.transform = CGAffineTransformMakeScale(1.0, 2.0); 

會讓你的觀點的兩倍,但相同的寬度。然而,在光柵化之後應用變換,所以您只需將原始像素拉伸,就不會顯示任何額外的細節。您應該從UIView文檔中知道,如果變換設置爲除身份之外的任何其他變量,那麼frame變得未定義。

+0

我檢查了這一點。正如你所說,它是像素化的。有沒有辦法避免這種情況? – Krishnan

+0

我並不完全有信心,但如果您使用合適的縮放比例創建了一個上下文,然後使用'renderInContext:'以更高的分辨率獲取相關視圖的圖像,則可以使用該方法。 – Tommy