Self Sizing Cells不能与Storyboard一起使用?

时间:2014-12-18 05:06:46

标签: ios uitableview swift

我在故事板中制作了一个简单的UITableViewCell原型,但我在自我调整方面遇到了一些问题。如下图所示,单元格大小增加,但文本不会向下移动。 (它有0行。)这是表的视图控制器。

import UIKit

class ViewController: UITableViewController {

    let events = ["Kaufman Family Finished Project Reception", "Home Remodelers' Survival Guide", "Mori Family Mid-Construction Showcase"]
    let locations = ["La Cañada Flintridge", "Claremont", "Claremont"]

    override func viewDidLoad() {
        super.viewDidLoad()

        tableView.estimatedRowHeight = 70.0
        tableView.rowHeight = UITableViewAutomaticDimension

        tableView.reloadData()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()

    }

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return events.count;
    }

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        var cell = tableView.dequeueReusableCellWithIdentifier("EventCell") as EventTableViewCell

        cell.eventName.text = events[indexPath.row]
        cell.eventLocation.text = locations[indexPath.row]

        return cell
    }
}

显然,我无法向您提供故事板的数十个屏幕截图,因此如果您需要其他信息请发表评论。这是一些基本的图片。 Prototype Cell Constraints Incorrect Cell Updated

1 个答案:

答案 0 :(得分:0)

很难从约束图中看出......要使这种安排有效,你需要:

  • 事件名称标签设置为0行(您说过)
  • 事件名称标签设置为自动换行(默认情况下不是)
  • 事件名称标签限制在单元格的顶部和单元格的前导/后沿
  • 事件名称标签底部限制在“事件位置标签”的顶部
  • 事件位置标签的相同条件 - 自动换行,0行,如果您希望它具有可变行数
  • 事件位置标签限制在单元格的底部和单元格的前/后边缘

这应该允许两个标签动态调整其高度,并允许单元格自身调整大小以适应标签高度和边距。

最后一件事......设置文本后,你在标签上调用sizeToFit,对吗?

以下是我的一个项目的一些图片,其中调整标签的工作原理:

最终结果:

Final result

“问题在这里”是要更改的标签。

"Questions Here" is the label being changed

尺寸检查员

Size Inspector

属性检查器

Properties Inspector