Autolayout diabaikan di Custom UITableViewCell

Meski telah menetapkan kendala untuk semua elemen, termasuk vertikal yang dibutuhkan bagi sel untuk menghitung ketinggian, auto-layout tampaknya diabaikan: semua sel yang diperas.

Berikut ini's screenshot dari hasil dan kendala-kendala dalam storyboard.

Di VC yang memegang tableView, di sini's kode viewDidLoad:

tableView.estimatedRowHeight = 120.0
tableView.rowHeight = UITableViewAutomaticDimension

Komentar baris kedua memberikan sel-sel dengan ketinggian 120.0 tapi Autolayout diabaikan juga.

Terima kasih


Update

Untuk menyederhanakan antarmuka, I've meninggalkan satu label dengan, sebagai kendala:

  • Spasi untuk superview
  • Ruang atas untuk superview
  • Tetap lebar dan tinggi (100 & 100)
  • Ruang bawah untuk wadah margin untuk memastikan bahwa sel memiliki semua vertikal kendala untuk menentukan ketinggian

Dan dengan antarmuka disederhanakan, auto-layout masih tidak diperhitungkan, yang mengisyaratkan padaku bahwa masalah tidak datang dari buruk menetapkan kendala.

Ukuran Inspektur, tinggi baris diatur pada 120 dan Custom diperiksa. Sel memiliki hak kelas kustom, sel reuse identifier yang benar.


Update: solusi ditemukan

Ini adalah kesalahan sederhana, lihat jawaban saya di bawah ini.

Mengomentari pertanyaan (11)
Larutan

Auto-layout diabaikan karena kedua prototipe sel DAN UIView sel telah diberikan custom sel kelas IB.

Pengaturan UIView kembali ke UIView kelas memecahkan masalah.

Komentar (0)

Saya pikir masalahnya adalah bahwa anda menerapkan :

func tableView(_ tableView: UITableView, heightForRowAt indexPath: 
IndexPath) -> CGFloat {

 return x
}

Anda perlu untuk memindahkan fungsi ini inorder untuk tableview untuk menghitung otomatis tinggi untuk sel-sel.

Komentar (3)