【发布时间】:2018-06-12 03:18:24
【问题描述】:
我正在构建一个表格视图场景,并且我已经为原型单元定义了一个自定义高度。我为自定义单元创建了一个文件,并通过该文件中的 IBOutlets 添加了一个图像和两个标签。我已经连接了表格视图并且表格正在调用信息,但是没有应用高度。这是单元格类和 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
}
}
表格视图单元格:
import UIKit
class FeedTableViewCell: UITableViewCell {
@IBOutlet weak var articleImageView: UIImageView!
@IBOutlet weak var articleTitleLabel: UILabel!
@IBOutlet weak var articleExcerptLabel: UILabel!
}
TableView 扩展:
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
}
}
这是应用程序运行时表格视图的屏幕截图:
这是 Xcode 中 Prototype 单元格和 Size Inspector 的屏幕截图:
【问题讨论】:
-
添加这个
self.table.estimatedRowHeight = 44.0 ; self.table.rowHeight = UITableViewAutomaticDimension;
标签: ios swift xcode uitableview tableview