我知道调整UILabel高度和UITableViewCell可能是一个相当标准的问题,但我找到了很多基于故事板和检查员的答案,但不是仅使用Swift 3.我创建了一个表格,覆盖屏幕。细胞的高度确定如下:
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
我的tableViewCell中有几个对象,一个UIImageView(myImage)和一个UILabel(myText),在自定义类中设置。定位和大小调整在cellForRowAt。
中进行 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! CustomCell
cell.myImage.image = UIImage(named: "MyImage")
cell.myImage.layer.frame = CGRect(origin: CGPoint(x: 0, y: 10), size: (cell.myImage?.image?.size)!)
cell.myText.text = myArray[indexPath.row]
cell.myText.frame = CGRect(x: UIScreen.main.bounds.size.width * 0.25, y: 0, width: UIScreen.main.bounds.size.width * 0.7, height: 90)
cell.myText.numberOfLines = 0
return cell
}
结果是一堆堆叠的细胞,彼此重叠。我该怎么做才能将UILabel框架的高度调整为来自myArray的文本量,并调整单元格高度,使其至少达到myImage或myText的高度?