Я делаю с Xcode 10. У меня есть вид таблицы во ViewController.
В ячейке есть метка, которая задается как ведущая, следящая, верхняя и нижняя, строка 0
В ViewDidload () Я добавил
override func viewDidLoad() {
super.viewDidLoad()
tableview.rowheight = UITableView.automaticDimension
tableview.estimateheight = 98
tableview.reloaddata()
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "CommentCell", for: indexPath) as! CommentCell
let idcmt: String
idcmt = self.CommentIDArray[indexPath.row]
ref.child("Post_theme/\(userid!)/\(id)/comment/\(idcmt)").observe( .value, with: {(snapshot) in
let value = snapshot.value as? NSDictionary
cell.Comment.text = value!["content"] as? String
})
// I have a button in the custom cell but tableview load height wrong even I did not click the button on cell
self.ref.child("Post_theme/\(self.userid!)/\(self.id)/comment/\(idcmt)/likecomment").observeSingleEvent(of: .value, with: { (snapshot) in
if snapshot.hasChild(self.userid!){
cell.Heartcommentaction = {
cell.HeartCommentbutton.tintColor = .lightGray
self.TableCommentView.reloadData()
}
}
})
return cell
}
class CommentCell: UITableViewCell{
var Heartcommentaction : (() -> ()) = {}
@IBOutlet weak var Comment: UILabel!
@IBOutlet weak var HeartCommentbutton: UIButton!
@IBAction func HeartCommentaction(_ sender: Any) {
Heartcommentaction()
}
}
Но когда я щелкаю Viewcontroller, при просмотре таблицы не загружается правильная ячейка высоты (ячейка, которая необходима для авторизации, отсутствует, ячейка, которая не нужна, изменяет размер)
Затем я добавляю этот код
override func viewDidAppear(_ animated: Bool) {
tableview.reloadData()
}
код работает хорошо только для начальных нескольких ячеек, но когда я прокручиваю больше (у меня более 100 ячеек), это снова неправильная высота, когда я прокручиваю до первоначальных ячеек снова ошиблись
Я посмотрел много решений, но у меня не работает
Действительно нужна помощь! спасибо
ОБНОВЛЕНИЕ
это скриншот неправильной высоты ячейки, иногда неправильный, иногда правильный