ใช่st3fanถูกต้องต้องตั้งค่าคุณสมบัติ contentSize ของ UIScrollView แต่คุณไม่ควรปิดการเลือกอัตโนมัติเพื่อจุดประสงค์นี้ คุณสามารถตั้งค่า contentSize ของ UIScrollView ได้อย่างง่ายดายด้วยการกำหนดอัตโนมัติใน IB เท่านั้นโดยไม่ต้องใช้รหัสใด ๆ
สิ่งสำคัญคือต้องเข้าใจว่าเมื่อไม่ได้ตั้งค่าขนาดของ UIScrollView โดยอัตโนมัติจะคำนวณจากข้อ จำกัด ของมุมมองย่อยทั้งหมดของ UIScrollView และสิ่งที่คุณต้องมีคือระบุข้อ จำกัด ที่เหมาะสมสำหรับมุมมองย่อยสำหรับทั้งสองทิศทาง
เช่นหากคุณมีมุมมองย่อยเพียงมุมมองเดียวคุณสามารถตั้งค่าความสูงและพื้นที่จากด้านบนและด้านล่างเป็นซุปเปอร์วิว (เช่น scrollView ในกรณีของเรา) contentSize.height จะคำนวณเป็นผลรวม
Vertical Space (aSubview.top to Superview.top) + aSubview.height + Vertical Space (aSubview.top to Superview.top)
contentSize.width คำนวณในทำนองเดียวกันจากข้อ จำกัด แนวนอน
หากมีข้อ จำกัด น้อยเกินไปในการคำนวณ contentSize ปุ่มสีแดงขนาดเล็กที่เหมาะสมจะแสดงใกล้รายการ View Controller Scene เพื่อแจ้งเกี่ยวกับความไม่ชัดเจนของเค้าโครง
หากมีมุมมองย่อยหลายมุมมองอาจเป็น "ลูกโซ่" ของข้อ จำกัด : มุมมองย่อยจากบนลงบนสุดความสูงและช่องว่างระหว่างมุมมองย่อยและมุมมองย่อยล่างสุดไปยังด้านล่างเหมือนในคำตอบของDanyal Aytekin
แต่ในทางปฏิบัติส่วนใหญ่จะสะดวกกว่าเพียงแค่เพิ่มมุมมองที่ว่างเปล่าด้วยขนาดที่ต้องการและกำหนดช่องว่างที่ด้านบนซ้ายล่างขวาของ scrollView เป็น 0
คุณสามารถใช้มุมมองนี้เป็น "มุมมองเนื้อหา" เช่นใส่มุมมองย่อยอื่น ๆ ทั้งหมด หรือหากคุณมีมุมมองย่อยจำนวนมากและไม่ต้องการย้ายและตั้งค่ารูปแบบอีกครั้งคุณสามารถเพิ่มมุมมองเสริมนี้ในมุมมองย่อยที่มีอยู่และทำให้มันถูกซ่อนไว้
ในการสร้างเนื้อหาที่คำนวณได้ scrollView ขนาดต้องมากกว่าขนาด scrollView