我正在处理一个应用程序,我面临一个奇怪的问题。我在故事板中创建了一个UITableViewController并添加了一个原型单元。在这个单元格中,我添加了一个UILabel元素,这个UILabel占据了整个单元格。我用自动布局设置了它,并添加了左,右,上和下限制。 UILabel包含一些文本。iOS 8 UITableView第一行高度错误
现在,在我的代码,我初始化表视图的的rowHeight和estimatedRowHeight:
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.rowHeight = UITableViewAutomaticDimension
self.tableView.estimatedRowHeight = 50
}
我创建单元格如下:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell : UITableViewCell? = tableView.dequeueReusableCellWithIdentifier("HelpCell") as? UITableViewCell
if(cell == nil) {
cell = UITableViewCell(style: .Default, reuseIdentifier: "HelpCell")
}
return cell!
}
我在表中返回两行视图。这就是我的问题:第一排的高度是很大的。看来,第二,第三排等都有一个正确的高度。我真的不明白为什么会出现这种情况。有人可以帮我弄这个吗?
我敢肯定,我的约束不是模糊的,因为我只对4个的UILabel约束。你有什么其他的建议可能是错误的? – Devos50 2014-12-03 20:20:11
不要“很确定”。有办法找出你是否有不明确的布局。使用它们。不要使用你的直觉;这是问题,而不是解决方案。如果你知道什么构成了明确的布局,我们不会在这里与你有麻烦,对吗?听我说的是什么。简单的事实是,固定左,右,顶部和底部的4个约束是不够的。你的约束可能不明确。 – matt 2014-12-03 21:39:17