根据内容修改自定义TableViewCell大小

时间:2015-11-19 00:04:16

标签: ios swift

我希望能够调整我的自定义TableViewCell的大小来包装其内容,这些内容可以是可变大小的图像和/或任意数量的文本行,然后是投票栏。

我的OMCFeedTableViewCell看起来像这样:

Prototype Cell

我已尝试设置约束,修改框架,无法正常工作。

到目前为止,这是我的代码:

在FeedViewController中:

import UIKit

class OMCFeedTableViewCell: UITableViewCell {
    @IBOutlet weak var postImage: UIImageView!
    @IBOutlet weak var postText: UILabel!
    @IBOutlet weak var voteLabel: UILabel!
    @IBOutlet weak var downVoteButton: UIButton!
    @IBOutlet weak var upVoteButton: UIButton!

}

在OMCFeedTableViewCell中:

def datetime_from_weekday_time_string(string)
  components = string.split(" ")
  date = DateTime.strptime(components[0], '%A')
  time = Date._strptime(components[1], '%H:%M:%S') # returns a hash like {:hour=>10, :min=>20, :sec=>20} 
  return date.change(time)
end

2.2.2 :021 > datetime_from_weekday_time_string("Monday 10:20:20")
 => Mon, 16 Nov 2015 10:20:20 +0000 

2.2.2 :022 > datetime_from_weekday_time_string("Saturday 11:45:21")
 => Sat, 21 Nov 2015 11:45:21 +0000

2.2.2 :023 > datetime_from_weekday_time_string("Thursday 23:59:59")
 => Thu, 19 Nov 2015 23:59:59 +0000 

1 个答案:

答案 0 :(得分:1)

您可以使用UITableViewAutomaticDimension,它会根据内容自动调整单元格大小。

self.tableView.rowHeight = UITableViewAutomaticDimension

还设置了estimatedRowHeigh

self.tableView.estimatedRowHeight = 120

同样根据经验,有时主要内容视图的底部约束给我一个问题,如果它困扰你,你可以删除它。