gpt4 book ai didi

ios - UITableView 返回奇怪的大小

转载 作者:行者123 更新时间:2023-11-29 01:09:54 24 4
gpt4 key购买 nike

大家好,我最近一直在处理 iOS 中的 UITableViews。我的 UITableView 返回了一些奇怪的结果..

一些照片显示

Then The first cell is so big.

Then the 2nd Cell looks like this

这些所有的单元格都有不同的大小..

类的代码是这样的

 import UIKit
import FLAnimatedImage

class ShotDetailTableViewController: UITableViewController {


@IBOutlet weak var bgImageView: FLAnimatedImageView!

@IBOutlet weak var viewsCount: UILabel!
@IBOutlet weak var likesCount: UILabel!
@IBOutlet weak var commentsCount: UILabel!

@IBOutlet weak var avatarImageView: UIImageView!
@IBOutlet weak var usernameLabel: UILabel!
@IBOutlet weak var descriptionLabel: UILabel!

@IBOutlet weak var reboundCount: UILabel!
@IBOutlet weak var attachmentCount: UILabel!

@IBOutlet weak var tagsCollectionView: UICollectionView!
@IBOutlet weak var reboundCollectionView: UICollectionView!
@IBOutlet weak var attachmentCollectionView: UICollectionView!

@IBOutlet weak var commentTableView: UITableView!

var shots : [Shot] = [Shot]()
var comments : [Comment] = [Comment]()
var shot : Shot!

var reboundPages = 1
var attachmentPages = 1

override func viewDidLoad() {
super.viewDidLoad()

title = shot.title

bgImageView.sd_setImageWithURL(NSURL(string: shot.imageUrl), placeholderImage: UIImage(named: "1"), options: .ContinueInBackground)

viewsCount.text = "\(shot.viewsCount)"
likesCount.text = "\(shot.likesCount)"
commentsCount.text = "\(shot.commentCount)"

avatarImageView.sd_setImageWithURL(NSURL(string: shot.user.avatarUrl), placeholderImage: UIImage(named: "2"))

usernameLabel.text = "\(shot.user.username)"
descriptionLabel.text = "\(shot.description)"

reboundCount.text = "\(shot.reboundCount)"
attachmentCount.text = "\(shot.attachmentsCount)"

commentTableView.delegate = self
commentTableView.dataSource = self
commentTableView.estimatedRowHeight = 100.0;
commentTableView.rowHeight = UITableViewAutomaticDimension;
commentTableView.separatorStyle = UITableViewCellSeparatorStyle.None

let api = DribbleObjectHandler()
api.loadComments(shot.commentsUrl, completion:didLoadComments)

NSUserDefaults.standardUserDefaults().setValue(true, forKey: "_UIConstraintBasedLayoutLogUnsatisfiable")
}


override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if tableView == commentTableView {
return UITableViewAutomaticDimension
} else {
return UITableViewAutomaticDimension
}
}

override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
avatarImageView.clipsToBounds = true
avatarImageView.layer.cornerRadius = 25

self.commentTableView.reloadData()
}

func didLoadComments(comments : [Comment]){
self.comments = comments
self.commentTableView.reloadData()
}

// MARK: - Table view data source

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections
if tableView == commentTableView {
return 1
} else {
return 1
}
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
if tableView == commentTableView {
return comments.count
} else {
return super.tableView(tableView, numberOfRowsInSection: section)
}
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
if tableView == commentTableView {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! CommentCell

// Configure the cell...
let comment = comments[indexPath.row]

//cell.nameLabel.text = comment.user.name
// cell.commentLabel.text = comment.body

//cell.avatarImageView.sd_setImageWithURL(NSURL(string: comment.user.avatarUrl), placeholderImage: UIImage(named: "2"))
cell.avatarImageView.image = UIImage(named: "2")

return cell

} else {
let cell = super.tableView(tableView, cellForRowAtIndexPath: indexPath)
return cell
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

}

当我实现 heightForRowAtIndexPath 时,tableView 变得非常小不幸的是我不能放置超过 2 个链接..所以我不能显示图片我在日志中没有发现任何错误

我试图找到与此相关的问题,但找不到太多。

提前致谢雅利安人

最佳答案

尝试实现 heightForRowAtIndexPath,而不是实现 estimatedHeightForRowAtIndexPath

关于ios - UITableView 返回奇怪的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35877524/

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