我有ScrollView
占用整个设备屏幕。
在ScrollView
的内部,有一个View
在Label
下面有3个TableView
,最后在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
这一切都很好,花花公子,但问题来自AutoLayout,我不断收到错误。我尝试了以下事项:
ScrollView
布局设置为固定在"Scrollable content size ambiguous for ScrollView"
上。首先,Xcode说View
,在运行时,没有控制台错误,但ScrollView
水平扩展超过Label
视口,动态内容下方的View
显示。 第2号规定:UIScrollView Scrollable Content Size Ambiguity
ScrollView.
设置为水平居中并垂直居中View
此已移除模糊内容大小错误(耶!),已更正< / strong> ScrollView
已超过Label
视口(Yay!),但动态大小的TableView
下方的TableView
未隐藏(假设其位于{ {1}})但我现在可以理解在控制台中收到Unable to simultaneously satisfy constraints.
错误。这是我遇到的两个结果,但我现在陷入困境。我已经检查了Apple文档中有关ScrollViews的步骤,并确切地遵循了它,但我认为我遇到了这个问题,因为我正在制作动态大小的TableView或一些AutoLayout错误。
有人可以帮忙吗?谢谢!
答案 0 :(得分:1)
你有没有玩弄堆栈视图?您应该能够将滚动视图设置为堆栈,将其他所有内容设置为其他内容,然后重叠它们。您可能必须使用X,Y选项,因为拖动会将其放入堆栈视图中。
答案 1 :(得分:0)
document.documentElement.innerHTML = '<svg height="100" width="100">\n <circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />\n</svg>'