2010-11-23 29 views
6

好的,我正在學習在界面構建器中使用UIScrollView。由於scrollView本身沒有任何內容,因此我創建了另一個視圖contentView,以保存我的控件和可滾動內容。進入這個視圖我放置控件,標籤等,然後在我的代碼中,我將scrollView的contentSize設置爲這個contentView的大小。我如何在界面構建器中的較高視圖上工作?

我的問題似乎非常簡單明顯,我必須錯過某個地方。當我在IB中創建這個XIB時,我得到了標準的空iPhone接口窗口。我把一個scrollView放在它的頂部,它佔據了整個窗口。我放棄了一個觀點,它佔用了整個滾動視圖。我添加了一些控件,到目前爲止,我仍然可以在IB的contentView矩形內看到這些控件。

我的問題是我如何工作/添加控件外部的contentView可見部分在IB?大聲笑。它似乎很簡單,但我只是不明白。我可以設置內容視圖的高度或將矩形拖到我喜歡的任何位置(事實上,這是具有滾動視圖的全部要點),但IB的固定UI窗口不會展開,因此我可以看到「屏幕外」部分contentView添加更多控件。這就像它只是固定在這個尺寸,因爲這是一個iPhone屏幕的大小,它不會讓我做任何更大/更高。

我做錯了什麼?

-a

+0

其煩人,你不能看到戲外的一部分,你可以手動設置幀而且他們將不在屏幕上,但你不能看到他們,我沒有真正嘗試解決這個問題,但它似乎並不明顯,如果它可以完成的話。 – Daniel 2010-11-23 22:52:20

+0

@丹尼爾 - 請參閱下面的接受答案。一旦關閉了所有模擬的UI元素,就可以使視圖儘可能高。顯然,如果你打算讓它比iPhone上的屏幕價值更高,你需要把它放在ScrollView中 – 2010-11-25 00:35:00

回答

12

您需要將所有模擬用戶界面元素(如狀態欄)關閉爲「未定義」,除了大小,您從下拉列表中選擇「自由形式」,然後您可以設置視圖使用標尺選項卡的高度可以隨心所欲。例如,在這裏我選擇了一個照片視圖控制器,並將右側欄中的大小設置爲「iPad全屏」 - 但我也可以將其更改爲「自由形式」以設置我希望的任何高度。

Selecting VC in interface builder

Custom size set

1

您不必創建一個視圖滾動視圖裏面的地方,如果你不想要的。就你而言,這聽起來似乎沒有多大意義。

至於你的問題的第二部分,你可以將項目直接放置在滾動視圖(這是一個視圖後面),作爲子視圖。如果你想讓它們脫離屏幕,那麼只需將它們的框架設置在你想要的那些特定的x,y座標上即可。您必須確保您的滾動視圖的contentSize屬性足夠大,以容納您的整個內容,這是允許水平/垂直滾動的。

0

您可能希望以編程方式執行屏外元素,而不是使用xib。

2

無論如何。您將內容視圖向上拖動,以便某些控件離屏,然後通過從頂部移動頂部的東西,將更多的控件/展開添加到剛製作的部分。實際上,您可以通過用鼠標拖動它在IB中物理滾動contentView。似乎一個smidge違反直覺,但無論如何。

3

首先通過任何你喜歡哪一種方式添加視圖控制器。然後在界面構建器中,點擊視圖控制器圖標(左側)。在連接檢查器中點擊標尺圖標「顯示尺寸檢查器」。將會有模擬尺寸的選項列表,更改爲「自由格式」並將高度增加到任意大小。希望這可以幫助。

1

設置模擬尺寸爲視圖控制器成自由形式以足夠大的尺寸,你可以在你的控件添加

enter image description here

相關問題