Привет, ребята, поэтому я недавно имел дело с UITableViews в iOS. и мой UITableView возвращает некоторые странные результаты ..UITableView возвращает wierd размеры
Некоторые фотографии, чтобы показать
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 ссылки .. поэтому я не могу показать изображение и я не получаю ошибки в журнале
Я пытался найти вопросы, связанные с этим, но может не очень много находят.
Заранее спасибо арийской
Нет .. Это не так. –
@AryanKashyap Вы либо невежественны, либо не понимаете ответа. У вас нет 'heightForRowAtIndexPath' в вашем делетете источника данных (код, который вы показали), поэтому« Нет .. Это не »не является соответствующим комментарием (не уверен, что комментарий до этого был удален, если это так, пожалуйста, извинись перед моим заявлением). –
Прошу прощения за грубость, я имел в виду, что я попытался ее реализовать, но все равно то же самое. –