动态调整大小的TableView创建AutoLayout问题

时间:2016-02-19 16:58:50

标签: ios xcode uitableview uiscrollview autolayout

我有ScrollView占用整个设备屏幕。

ScrollView的内部,有一个ViewLabel下面有3个TableView,最后在Label下面。TableView

Layout in Story Baord

现在,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,我不断收到错误。我尝试了以下事项:

  1. 将内部ScrollView布局设置为固定在"Scrollable content size ambiguous for ScrollView"上。首先,Xcode说View,在运行时,没有控制台错误,但ScrollView水平扩展超过Label视口,动态内容下方的View显示。
  2. Try number 1

    第2号规定:UIScrollView Scrollable Content Size Ambiguity

    1. 将内部ScrollView.设置为水平居中并垂直居中View已移除模糊内容大小错误(耶!),已更正< / strong> ScrollView已超过Label视口(Yay!),但动态大小的TableView下方的TableView未隐藏(假设其位于{ {1}})但我现在可以理解在控制台中收到Unable to simultaneously satisfy constraints.错误。
    2. Try number 2

      这是我遇到的两个结果,但我现在陷入困境。我已经检查了Apple文档中有关ScrollViews的步骤,并确切地遵循了它,但我认为我遇到了这个问题,因为我正在制作动态大小的TableView或一些AutoLayout错误。

      有人可以帮忙吗?谢谢!

2 个答案:

答案 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>'