为什么UITableViewCell的自我大小的单元格在iOS8.3中不起作用?

时间:2015-04-13 14:21:24

标签: ios xcode swift

UITableViewCell的自我大小的单元格在iOS8.2中运行良好,但是当我更新Xcode6.3时,它无法正常工作。

谁能告诉我原因?

override fun viewDidLoad() {
    super.viewDidLoad()
    self.tableView.rowHeight = UITableViewAutomaticDimension
}

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:9)

我刚刚在iOS 8.3版本上测试了我的演示代码,但它已经坏了。

它只能使用以下代码...

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.tableView.estimatedRowHeight = 100;

    // set cell values...
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return UITableViewAutomaticDimension;
}

如果我尝试放tableView.rowHeight = UITableViewAutomaticDimension,那么它就无法运作。

确保设置estimatedRowHeight,然后使用heightForRow方法设置自动维度。

修改

可能是因为您的桌面视图不是静态的,请尝试删除行... self.tableView.estimatedRowHeight = 100;并使用...

- (CGFloat) tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return 100;
}

只是一个猜测......

我认为在Swift中这是......

override func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    return 100
}