gpt4 book ai didi

ios - 如果行高为 UITableViewAutomaticDimension,则 UITableViewWrapperView 大小不会根据内容更改

转载 作者:IT王子 更新时间:2023-10-29 05:38:25 26 4
gpt4 key购买 nike

UITableViewWrapperView 如果行高为 UITableViewAutomaticDimension,大小不会根据内容改变。

我正在尝试创建一个包含 TableView 和动态高度行的 Feed 列表。TableView 是可滚动的,但 UITableViewWrapperView 看起来它的大小没有改变!

下面是 View 层次结构的代码和屏幕截图。

我觉得很奇怪。

代码:

class FeedController: UITableViewController {

var items: NSMutableArray = []

override func viewDidLoad() {
super.viewDidLoad()

refreshControl?.addTarget(self, action: "feedLoad", forControlEvents: UIControlEvents.ValueChanged)

self.feedLoad()

}

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

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

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.items.count
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
return self.getCellForItemAtIndexPath( indexPath )
}

func getCellForItemAtIndexPath(indexPath: NSIndexPath) -> UITableViewCell {

let item: Dictionary = self.items[indexPath.row] as Dictionary<String, AnyObject>

let cell = tableView.dequeueReusableCellWithIdentifier( (item["type"] as String) + "Cell", forIndexPath: indexPath ) as FeedViewCell

cell.fillData(item)

return cell as UITableViewCell
}

func feedLoaded(){

tableView.reloadData()

}

func feedLoad(){
// Feed Load Logic which will call next line once feed loaded

self.feedLoaded()
}

}

View Hierarchy

最佳答案

我假设您已经为您的单元格配置了自动布局,因为这是实现此功能的唯一方法。自动布局应该能够根据您的单元格约束计算高度。

因此,您应该在垂直 View 之间以及 super View (在本例中为单元格 View )的顶部和底部边缘 View 之间设置约束。

假设您有一个带有标题和描述的单元格,如下所示:

|------------------|
| Title |
| |
| Description with |
| long multiple |
| lines of text |
|------------------|

在此示例中,您必须设置在 titledescription 之间添加一个垂直间距约束,在 title 之间添加一个垂直间距约束> 的顶部和单元格 View 的顶部以及 description 的底部和单元格 View 的底部之间的垂直空间。

关于ios - 如果行高为 UITableViewAutomaticDimension,则 UITableViewWrapperView 大小不会根据内容更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27183606/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com