【问题标题】:Dynamically change TableView Cell height动态改变 TableView Cell 高度
【发布时间】:2016-06-17 19:19:24
【问题描述】:

Swift/Objective C - 动态更改 TableView 单元格高度的简单方法

在我的表格视图单元格中打破第一行和第三行,每个标签都是动态的

【问题讨论】:

标签: ios objective-c iphone swift


【解决方案1】:

为图像视图添加约束(顶部、前导、尾随、高度)

不要添加底部约束

为每个标签(顶部、前导、尾随、底部)添加约束

为最后一个标签添加约束(顶部、前导、尾随、底部)

设置每个标签

行数 = 0

换行模式 = word warp

表视图数据源和委托方法

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
    let cell = tableView.dequeueReusableCellWithIdentifier("PropertyListCell", forIndexPath: indexPath) as UITableViewCell!

    imgProperty = viewBg.viewWithTag(111) as! RemoteImageView
    lblPropertyName = viewBg.viewWithTag(112) as! UILabel
    lblPrice = viewBg.viewWithTag(113) as! UILabel
    lblAddress = viewBg.viewWithTag(114) as! UILabel
    lblAreaPerSquare = viewBg.viewWithTag(115) as! UILabel

    imgProperty.imageURL = NSURL(string: "Image Url")
    lblPropertyName.text="Jai Maharashtra Apartment"
    lblPrice.text="Rs. 900 - 10000"
    lblAddress.text="411041,Maharashtra Sadan, Pune, Maharashtra , India" // just address changed. 
    lblAreaPerSquare.text="500 Square Meter"

    cell.selectionStyle = UITableViewCellSelectionStyle.None
    return cell
}

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
{
    return UITableViewAutomaticDimension
}

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

现在所有标签都是动态的

【讨论】:

  • 非常好的答案,确实!恭喜。 :-)
  • 感谢兄弟的解决方案。
【解决方案2】:

斯威夫特 - 3.0

 func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
     var height:CGFloat = CGFloat()
     if indexPath.row == 0 {
     height = 80
    }
    else if indexPath.row == 1 {
     height = self.view.frame.size.height - 80 - 44 - 64
     print(height)
    }
    return height
   }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-23
    • 1970-01-01
    • 2019-11-23
    • 2012-12-22
    相关资源
    最近更新 更多