Rundes UIImage in einer TableViewCell

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • MyMattes schrieb:

    Du solltest in der genannten Methode keine Zelle dequeuen, sondern die aus den Parametern nehmen ... und Dir vielleicht einmal die Dokumentation zu UITableView und den verwandten Protokollen durchlesen.

    Mattes
    Oh ja, tut mir leid :)


    Quellcode

    1. override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
    2. cell.imageView?.layer.cornerRadius = (cell.imageView?.frame.size.width)! / 2
    3. cell.imageView?.clipsToBounds = true
    4. }
    So sollte der Code aber schon mal passen oder ? Ändert zwar nach wie vor nichts aber ich werde mir jetzt auch mal die Dokumentation durchlesen. Muss ich den cornerRadius bei cellForRowAt dann eigentlich auch entfernen oder spielt der dann erstmal keine Rolle ?
  • Ok, wenn dies nicht funktioniert, dann ist das Layout der Zelle nicht komplett wenn tableView(_:willDisplay:forRowAt:) aufgerufen wird. Apple hat mit dem Autolayout leider einiges zerstört, was vorher gut funktioniert hat. :(

    Dann bleibt Dir nur eine eigene TableViewCell Klasse, in welcher Du layoutSubviews() inkl. super Aufruf überschreibst und danach den cornerRadius vom imageView setzt. Dies sollte dann aber funktionieren. ;)

    BTW: Sind die angezeigten Bilder eigentlich alle Quadratisch oder verwendest Du UIViewContentModeScaleAspectFill als contentMode? Ggf. ist der ImageView nicht quadratisch, wenn die Bilder nicht quadratisch sind. ;)
  • MCDan schrieb:

    Ok, wenn dies nicht funktioniert, dann ist das Layout der Zelle nicht komplett wenn tableView(_:willDisplay:forRowAt:) aufgerufen wird. Apple hat mit dem Autolayout leider einiges zerstört, was vorher gut funktioniert hat. :(

    Dann bleibt Dir nur eine eigene TableViewCell Klasse, in welcher Du layoutSubviews() inkl. super Aufruf überschreibst und danach den cornerRadius vom imageView setzt. Dies sollte dann aber funktionieren. ;)

    BTW: Sind die angezeigten Bilder eigentlich alle Quadratisch oder verwendest Du UIViewContentModeScaleAspectFill als contentMode? Ggf. ist der ImageView nicht quadratisch, wenn die Bilder nicht quadratisch sind. ;)
    Gute Neuigkeiten, der Tipp mit layoutSubviews hat funktioniert :D Jetzt läuft alles so wie ich das wollte, vielen Dank :)