2014-10-30 60 views
2

我一直在爲這個實現掙扎幾天,儘管我已經嘗試去做每一個我在網上找到的教程,但我仍然無法按照自己想要的方式工作。ios - 在Xcode 6上使用UIScrollview w/autolayout

基本上,我試圖把我的登錄表單放在滾動視圖中,這樣它首先在整個屏幕上(以及所有的iPhone/iPad上),並且如果鍵盤出現,所有東西都應該移動。問題在於,我的視圖並不佔用整個屏幕......或者它太大或太高,即使在Interface Builder中,所有接縫都是正確的(從佈局到約束)。下面,我想實現佈局的圖像(我使用的是通用的故事板,大小爲類和自動佈局啓用):

http://img4.hostingpics.net/pics/829115app.png

有人點我出去實現這一佈局?

在此先感謝。

回答

0

我建議將您的滾動視圖的頂部,引導和尾部空格固定到其超級視圖。如果將其設置爲0,則將底部空間約束設置爲小於或等於鍵盤的高度,則滾動視圖將無法調整大小。

使用表單佈局設置垂直中心約束和頂部空間到頂級標籤的頂部空間大於或等於您在IB中設置的距離,然後您可以設置每個組件之間的相對空間約束。

希望我回答了你的問題。

編輯:只是提供的項目,並得到它的工作。我認爲這個問題是由於它是一個scrollView內的containerView引起的。容器和scrollViews內容視圖都適應其子視圖的大小。正因爲如此,設置相對限制條件將無濟於事。

我所做的是爲containerView設置一個明確的大小(屏幕大小)並將setTranslatesAutoresizingMaskIntoConstraints(true)設置爲它。

我修改您的項目,並將其上傳here

+0

我不知道在Interface Builder的鍵盤高度,因爲它沒有在開始露面。我能夠通過綁定事件keyboardDidShow動態滾動scrollview,並且工作正常。 問題在於表單佈局。我可以在界面生成器中很好地設計它,但是它顯示得太大,視圖水平滾動,或者太長,視圖垂直滾動。我希望滾動視圖爲全屏幕且無需滾動,除非我在鍵盤上滾動它.DidShow 教程告訴我在滾動中放置容器視圖並將內容放在那裏,但它不起作用。 – Lucio 2014-10-30 08:21:06

+0

@LucioMerotta你可以在IB上發佈視圖的截圖並在模擬器上運行嗎? – Deivuh 2014-10-30 16:33:51

+0

當然可以!你會發現這裏的屏幕截圖爲: - 約束 - 界面製作工具的佈局 - iOS模擬器的屏幕截圖 – Lucio 2014-10-30 19:15:23