我有一個ScrollView
佔用整個設備屏幕。動態大小TableView創建AutoLayout問題
這裏面ScrollView
的存在是底層將持有3個Label
S,A TableView
下,然後在最後一個View
,一個Label
。
現在,TableView
有項目的未知量被注入到它,我不希望它滾動,所以我重視其高度爲NSLayoutContraint
是動態調整並重新加載一次這些項目已被解析。
這是怎樣的數據進來後對錶進行調整:
@IBOutlet weak var tableView: UITableView!
@IBOutlet weak var tableHeight: NSLayoutConstraint!
var array = [String]()
let import = self.items!["people"] as? String
array = import!.componentsSeparatedByString(",")
let height = CGFloat(self.array.count * 50)
self.tableHeight.constant = height
self.tableView.reloadData()
這是所有良好和花花公子,但問題自帶的自動版式和我不斷收到錯誤。我試過以下東西:
- 將內部
View
佈局設置爲針對ScrollView
固定。首先,Xcode在說"Scrollable content size ambiguous for ScrollView"
,並且在運行它時,沒有控制檯錯誤,但是View
在動態內容顯示下方水平擴展了ScrollView
視口和Label
。
數2所規定:UIScrollView Scrollable Content Size Ambiguity
- 設置內
View
被水平居中並與ScrollView.
這除去曖昧垂直居中內容大小錯誤(Yay!)和已更正View
從運行過ScrollView
視口(Yay!),但Label
下的動態大小TableView
不隱藏(假設它在TableView
下),但我現在可以理解地在控制檯中出現Unable to simultaneously satisfy constraints.
錯誤。
這些是兩種結果我來,但我現在卡住。我已經在Apple文檔中檢查了關於ScrollViews的步驟,並且確切地遵循了它,但是我認爲我遇到了這個問題,因爲動態調整大小的TableView或我製作的一些AutoLayout錯誤。
任何人都可以幫忙嗎?謝謝!
你是男人。嚴重的是,這有助於** BIG TIME **。根據你的建議,我在頂部插入了一個垂直的'StackView',其中包含動態大小的'TableView',然後是一堆'Labels','TableViews'等填充的'Views',並且它完美地工作。 – simplexity
@simplexity哦耶我相信它,堆棧的意見將改變你的生活!我不知道我是如何錯過所有關於它們的炒作,但是蘋果實際上是在說開發者應該從現在開始工作的方式是先做堆棧視圖,然後再擔心約束。很高興幫助! =] – 2016-02-19 20:01:01