Ich verwende UITableView
, um meine Daten aus Realm anzuzeigen. Ich habe zwei Arten von Zeile eins mit UIImageView
und andere ohne UIImageView
. Wenn Bild in UIImageView
die Höhe der Reihe ist, sollte 207 sein oder UIImageView
ist gleich Null die Höhe der Reihe sein sollte 64.So verwenden Sie die dynamische Höhe für Tableviewcell
Meine Codierung:
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return msgs.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! collCell
let msg = msgs[indexPath.row]
var decodeImgURL = ""
cell.lbl1.text = msg.content
decodeImgURL = msg.imgurl
if decodeImgURL == "none" {
cell.img.isHidden = true
} else {
let dataDecoded : Data = Data(base64Encoded:decodeImgURL,options: .ignoreUnknownCharacters)!
let decodedImage = UIImage(data: dataDecoded)
cell.img.image = decodedImage
}
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
let cell = tableView.cellForRow(at: indexPath) as! collCell
if cell.img.image != nil {
return 207
} else {
return 64
}
}
Ich erhalte einen Fehler bei let cell = tableView.cellForRow(at: indexPath) as! collCell
@Moritz ok ich verstand –