2013-10-08 52 views
0

我有一個UIScrollView其中嵌入了幾個UITableView s。我希望允許每個表格根據需要展開其高度,以顯示其所有單元格。滾動視圖的框架佔用了整個屏幕,所以它的contentSize.height需要擴展以適應最大的表格(我認爲這是默認行爲,但是我提到它以防萬一我不正確)。這一切都可以在我的故事板上完成嗎?或者如果我需要添加代碼來做到這一點,我發現this tutorial,但它是用於iOS 6 - 有這個約束的任何代碼改變了iOS 7?Xcode 5自動佈局 - 嵌入表

+0

我有點不舒服地問這個,但爲什麼downvote? – GeneralMike

回答

0

它可以通過兩種方式來完成。通過代碼(提及位置)手動移動UI元素並覆蓋它,但是在旋轉或通過提及自動佈局中的約束。

此鏈接http://www.doubleencore.com/2013/09/auto-layout-updates-in-ios-7/提供了ios7自動佈局的詳細信息。

+0

是的,我在看到這篇文章的時候看到了這篇文章。不幸的是,它沒有任何有關如何設置調整大小的高度或如何在代碼中執行任何操作的信息。我想讓這個工作與自動佈局的原因是,所以我不必擔心像旋轉這樣的事情。 – GeneralMike

2

如果您事先知道每個表佔用多少空間,您可以純粹在故事板中完成它,但因爲每個UITableView也是一個scrollview,所以UITableView的默認行爲是填充指定大小的內容並滾動if有溢出。

如果您在設計時不知道表的高度,則需要在運行時設置它們。例如,請參閱Autolayout a UIScrollView to fit content including subviews and grouped tables,簡短的答案是爲表格添加高度約束,將其作爲出口拖入控制器,然後在知道該高度時設置高度。

+0

是的,我需要高度是動態的,所以看起來我必須用代碼來完成它,正如我擔心的那樣。但是,謝謝,我不知道你可以設置一個限制作爲一個出路。所以看起來這樣做還是會有點痛苦(這在自動佈局之前也是頭疼),但至少我只需要做一次,而不必擔心旋轉或不同的屏幕尺寸或任何東西。謝謝,我會進行投票並接受一次,我可以確認它的工作。 – GeneralMike