gpt4 book ai didi

ios - 自定义高度未应用于 UITableView 原型(prototype)单元格

转载 作者:可可西里 更新时间:2023-10-31 23:59:52 26 4
gpt4 key购买 nike

我正在构建一个表格 View 场景,并且我已经为原型(prototype)单元格定义了一个自定义高度。我为自定义单元格创建了一个文件,并通过该文件中的 IBOutlets 添加了一个图像和两个标签。我已经连接了表格 View 并且表格正在调用信息,但是没有应用高度。以下是单元格类和 cellForRow 方法的语法。

TableView文章对象:

import Foundation
import UIKit

class FeedItem {

var feedItemTitle: String
var feedItemImage: UIImage
var feedItemExcerpt: String = "Lorem ipsum dolor amet flexitarian art party skateboard, ethical pop-up drinking vinegar readymade humblebrag hot chicken. Retro kogi quinoa..."
var feedItemLike: UIImage
var feedItemComment: UIImage

init(feedItemTitle: String, feedItemImage: UIImage, feedItemLike: UIImage, feedItemComment: UIImage) {
self.feedItemTitle = feedItemTitle
self.feedItemImage = feedItemImage
self.feedItemLike = feedItemLike
self.feedItemComment = feedItemComment
}

}

表格 View 单元格:

import UIKit

class FeedTableViewCell: UITableViewCell {

@IBOutlet weak var articleImageView: UIImageView!
@IBOutlet weak var articleTitleLabel: UILabel!
@IBOutlet weak var articleExcerptLabel: UILabel!

}

表格 View 扩展:

extension NewFeedViewController: UITableViewDelegate, UITableViewDataSource {

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return articlesArray.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Article Cell", for: indexPath) as! FeedTableViewCell
cell.articleImageView.image = articlesArray[indexPath.row].feedItemImage
cell.articleTitleLabel.text = articlesArray[indexPath.row].feedItemTitle
cell.articleExcerptLabel.text = articlesArray[indexPath.row].feedItemExcerpt
return cell
}

}

这是应用程序运行时表格 View 的屏幕截图:

enter image description here

这是 Xcode 中 Prototype 单元格和 Size Inspector 的屏幕截图:

enter image description here

最佳答案

使用这个属性

self.table.estimatedRowHeight = 44.0 
self.table.rowHeight = UITableViewAutomaticDimension

甚至你也可以使用委托(delegate)

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}

func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
return 44
}

关于ios - 自定义高度未应用于 UITableView 原型(prototype)单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48060607/

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