2

我正在快速开发一个项目,该项目需要根据标签内容使单元格大小动态变化,因此我搜索了动态单元格高度,我找到了一些解决方案,但所有这些都包括使用情节提要来分配约束。没有故事板是否可以做到这一点。是否可以以编程方式进行?我的意思是在没有故事板的情况下应用自我调整大小

我的代码是:

class a: UITableViewDelegate, UITableViewDataSource {
    tableView = UITableView(frame: CGRectMake(0, 0, self.view.frame.width, self.view.frame.height), style: UITableViewStyle.Plain)
    tableView.delegate = self
    tableView.dataSource = self
    tableView.estimatedRowHeight = 100
    tableView.rowHeight = UITableViewAutomaticDimension
    self.view.addSubview(tableView)
}

希望问题很清楚。

提前致谢。

编辑:下面的答案都没有帮助

4

5 回答 5

1

试试这个方法。

 override func tableView(tableView: UITableView!, heightForRowAtIndexPath indexPath: NSIndexPath!) -> CGFloat {
 return // get cell text label high and return +10 or +20 height. what is label height..
}
于 2015-01-16T08:27:50.560 回答
1
于 2015-01-16T09:21:50.303 回答
1

你可以试试这个方法。

func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
{
 self.dashBoardTableView.rowHeight = UITableViewAutomaticDimension

    if (CellIdentifier == "dashBoardTableCellID")
    {
       dashBoardTableView.rowHeight =  96
    }
    else
    {
        dashBoardTableView.rowHeight =  60
    }

    return self.dashBoardTableView.rowHeight
}
于 2016-01-07T05:31:16.460 回答
0

是的,你可以,你可以在代码中创建你的约束。我建议你看看 NSLayoutConstraint 类:

NSLayoutConstraint 苹果文档

于 2015-01-16T08:03:06.940 回答
0

iOS 8 支持自定义大小的 tableview 单元格。要启用它,首先创建具有正确约束的单元格。下面的最终使用代码

tableView.estimatedRowHeight = 50
tableView.cellHeight = UITableViewCellAutomaticDimension

estimatedRowHeight只是表视图的提示。当 tableview 重用单元格时,它会查看其内容并根据它调整大小。

于 2015-01-16T09:05:41.167 回答