2010-01-04 69 views
2

是否有可能有一個UIView的邊界大小不同的幀大小?UIView:邊界大小不同的幀大小?

我試圖用「{{0,0},{320,367}}」框架和「{{0,15},{320,337}}}」創建一個UIView,但我無法完成使用setBounds()和setFrame()。

我從文檔中獲得了相應地更改邊界或幀更改的框架或邊界,但我認爲可以爲這些論文提供不同的值。

非常感謝。

回答

2

通常情況下:
1.邊界位於(0,0),而幀(和中心)給出視圖的位置。
2.邊界和框架將具有相同的寬度和高度。

UPDATE
這聽起來像你想添加下面是以前更大的特定視圖按鈕。
在這種情況下,我會創建一個佔據整個空間的新視圖。然後,我會將現在較小的特定視圖添加到所需位置作爲子視圖。最後,我會將新按鈕添加到所需的位置,作爲新的全空間視圖的另一個子視圖。
您可以在Interface Builder或代碼中執行此佈局。

+0

我正在嘗試調整視圖的大小,以便在它下面有一個空白區域。因爲我想在這個空白區域添加一個按鈕,所以我希望視圖的大小可以調整,但是使用原始的框架大小,所以我的按鈕是可觸摸的。 – Vivi 2010-01-05 08:43:34

+0

我的答案已更新爲建議的佈局。 – gerry3 2010-01-05 17:49:01

+0

感謝您的建議,但我想我可能有這樣做的問題,因爲我的視圖和控制器有代表和東西。但我會試一試:) – Vivi 2010-01-08 15:47:34

4

是的,當設備旋轉時,整個視圖層次結構使用CGAffineTransform進行變換。在這種情況下,您的界限和框架可能具有不同的值。確保視圖位置的最佳方法是爲其大小設置邊界屬性,併爲該位置設置其中心屬性。