Evet, st3fan haklı, UIScrollView'in contentSize özelliği ayarlanmalıdır. Ancak bu amaç için otomatik düzeni kapatmamalısınız. UIScrollView içerik boyutunu, herhangi bir kod olmadan yalnızca IB'de otomatik düzen ile kolayca kurabilirsiniz.
UIScrollView öğesinin otomatik düzenini kullanırken contentSize doğrudan ayarlanmadığında, UIScrollView’un tüm alt görünümlerinin kısıtlamalarına göre hesaplandığını anlamak önemlidir. Ve tek ihtiyacınız olan, her iki yön için de alt görünümler için uygun kısıtlamalar sağlamaktır.
Örneğin, yalnızca bir alt görünümünüz varsa, yüksekliğini ve boşluğunu yukarıdan ve aşağıdan denetlemeye ayarlayabilirsiniz (yani bizim durumumuzda scrollView) contentSize.height, toplam olarak hesaplanır
Vertical Space (aSubview.top to Superview.top) + aSubview.height + Vertical Space (aSubview.top to Superview.top)
contentSize.width, yatay kısıtlamalardan benzer şekilde hesaplanır.
ContentSize düzgün bir şekilde hesaplamak için çok az kısıtlama varsa, düzen belirsizliği hakkında bilgi vermek için Küçük kırmızı düğme View Controller Scene öğesinin yanında gösterilir.
Çok sayıda alt görünüm varsa, bu kısıtlamalar "zinciri" olabilir: Danyal Aytekin'in yanıtında olduğu gibi yukarıdan en üste alt görünüm, alt görünümler arasındaki yükseklikler ve boşluklar ve en alttan alt görünümden aşağıya .
Ancak pratikte çoğu durumda, gereken boyutta boş bir görünüm eklemek ve scrollView'ın üst, sol, alt, sağındaki boşlukları 0'a ayarlamak daha uygundur.
kaydırma Görünümünün Bu görünümü "içerik Görünümü" olarak kullanabilirsiniz, yani diğer tüm alt görünümleri yerleştirebilirsiniz. üzerinde veya zaten birçok alt görünümünüz varsa ve bunları taşımak ve düzeni tekrar ayarlamak istemiyorsanız, bu yardımcı görünümü mevcut alt görünümlere ekleyebilir ve gizleyebilirsiniz.
ScrollView kaydırılabilir hesaplanan contentSize yapmak için, scrollView boyutundan büyük olmalıdır.