Ya, st3fan benar, properti contentSize UIScrollView harus disetel. Tetapi Anda tidak harus mematikan tata letak otomatis untuk tujuan ini. Anda dapat dengan mudah mengatur contentSize dari UIScrollView dengan autolayout hanya di IB, tanpa kode apa pun.
Penting untuk dipahami bahwa saat menggunakan autolayout contentSize dari UIScrollView tidak disetel secara langsung, ini dihitung berdasarkan batasan dari semua subview UIScrollView. Dan yang Anda butuhkan hanyalah memberikan batasan yang tepat untuk subview untuk kedua arah.
Misalnya jika Anda hanya memiliki satu subview, Anda dapat mengatur tinggi dan ruangnya dari atas dan bawah ke superview (misalnya scrollView dalam kasus kami) contentSize.height dihitung sebagai jumlah
Vertical Space (aSubview.top to Superview.top) + aSubview.height + Vertical Space (aSubview.top to Superview.top)
contentSize.width dihitung dengan cara yang sama dari batasan horizontal.
Jika ada terlalu sedikit batasan untuk menghitung contentSize dengan benar, tombol merah kecil ditampilkan di dekat item View Controller Scene untuk menginformasikan tentang ambiguitas layout.
Jika ada banyak subview maka mungkin saja "chain" of constraint: subview dari atas ke atas, ketinggian dan jarak antara subview dan subview paling bawah ke bawah seperti pada jawaban Danyal Aytekin .
Namun dalam praktiknya dalam banyak kasus, lebih mudah hanya menambahkan tampilan kosong dengan ukuran yang diperlukan dan mengatur spasi ke atas, kiri, bawah, kanan scrollView ke 0.
Anda dapat menggunakan tampilan ini sebagai "Tampilan konten", yaitu meletakkan semua subview lainnya di atasnya atau jika Anda sudah memiliki banyak subview dan tidak ingin memindahkannya dan mengatur layout lagi, Anda dapat menambahkan tampilan tambahan ini ke subview yang ada dan membuatnya tersembunyi.
Untuk membuat scrollView konten terhitung yang dapat digulir harus lebih besar dari ukuran scrollView.