2011-03-02 37 views
11

我與iPhone接口建築僅使用代碼被玩弄和不使用IB的圖像的靈活寬度。(自動調整大小掩模)具有固定高度

現在我面臨如下問題:

怎樣可以設置圖像到具有基於它位於並讓它具有在兩個例如50個像素的餘量主視圖的寬度兩側。 (它也應該與旋轉一起工作,因此寬度應該是靈活的)。

我已經試過用frame.size.width - 50設置大小,但是當屏幕旋轉時這不起作用。我嘗試的另一件事是使用autoresizing面具,但我不完全理解這是如何工作的。

是否還需要爲圖像設置一個幀還是被autoresizing mask掩蓋了這一點?如果它被否決,我怎麼能給圖像一個固定的高度和靈活的寬度?

我正在使用的書(高級iOS4編程)在這件事上並不十分清楚,我在網上找到的大多數例子都是針對界面構建者的。

謝謝你的時間。

親切的問候, 碧玉

回答

49

平鋪:

  • 調整大小保持固定左/右邊距:UIViewAutoresizingFlexibleWidth
  • 保持的尺寸和相同的距離從左邊:UIViewAutoresizingFlexibleRightMargin
  • 保持尺寸,保持居中:UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin
  • 保持尺寸和距右側相同距離:UIViewAutoresizingFlexibleLeftMargin

垂直:

  • 調整大小保持固定頂部/底部邊距:UIViewAutoresizingFlexibleHeight
  • 保持的尺寸和相同的距離從頂部:UIViewAutoresizingFlexibleBottomMargin
  • 保持尺寸,保持居中:UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin
  • 保持的尺寸和相同的距離從底部:UIViewAutoresizingFlexibleTopMargin

將第一部分與第二部分中的一個合併爲|。例如,要使其水平調整大小並保持與垂直頂部相同的大小和距離,請使用UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin

您可以使用其他組合來做一些更棘手的事情,但這些都是基礎知識。

+0

所以基本上我現在看到它..你爲某個對象設置框架。然後在屏幕旋轉的情況下指定這些值,以便知道如何響應? – Jasper 2011-03-02 16:15:28

+0

是的,或者由於任何其他原因超級視圖改變大小。例如,「通話狀態欄」可能會出現,導致頂級UINavigationController調整其內容區域,或者您可以根據自己的理由更改超級視圖的「框架」。 – Anomie 2011-03-02 16:41:52

+0

非常感謝你。優秀! – pmk 2012-05-11 18:38:22

0

你可能想這樣的:

[myImageView setAutoresizingMask:UIViewAutoresizingFlexibleWidth]; 

這將保持利潤的靜態和調整寬度。

+0

這是我試過的,但是如何設置這個圖像的高度,然後如果我想要修復它? – Jasper 2011-03-02 15:33:07

+0

如果您沒有將高度設置爲靈活,高度不會改變。 – 2011-03-02 16:15:32

相關問題