เซลล์ของการUITableView
แสดงบนพื้นที่ว่างเมื่อคุณเลื่อนลงหรือไม่?
ถ้าเป็นเช่นนั้นปัญหาอาจเป็นสิ่งที่ใส่เข้าไปใน UITableView
เนื่องจากตัวควบคุมทิศทางที่คุณมีในมุมมองของคุณ สิ่งที่ใส่เข้าไปจะถูกเพิ่มเข้าไปในมุมมองตารางเพื่อให้เนื้อหาอยู่ด้านล่างแถบนำทางเมื่อไม่มีการเลื่อนเกิดขึ้น เมื่อตารางถูกเลื่อนเนื้อหาจะเลื่อนและแสดงภายใต้แถบการนำทางแบบโปร่งใส พฤติกรรมนี้เป็นที่ต้องการแน่นอนถ้ามุมมองตารางเริ่มต้นโดยตรงภายใต้แถบนำทางซึ่งไม่ใช่กรณีที่นี่
อีกสิ่งที่ควรทราบคือ iOS จะปรับเนื้อหาของสิ่งที่ใส่เข้าไปสำหรับมุมมองแรกในลำดับชั้นการดูถ้ามันเป็นUIScrollView
หรือมันเป็นลูกหลาน (เช่นUITableView
และUICollectionView
) หากลำดับชั้นมุมมองของคุณมีหลายมุมมองเลื่อนautomaticallyAdjustsScrollViewInsets
จะทำการปรับเปลี่ยนเฉพาะมุมมองแรก
นี่คือวิธีการเปลี่ยนพฤติกรรมนี้:
a) เครื่องมือสร้างส่วนต่อประสาน
ฉันไม่แน่ใจว่า Xcode เวอร์ชันใดเปิดตัวเลือกนี้ (ไม่พบในบันทึกย่อประจำรุ่น) แต่อย่างน้อยก็มีในเวอร์ชัน 5.1.1
แก้ไข: เพื่อหลีกเลี่ยงความสับสนนี่เป็นตัวเลือกที่สามที่กล่าวถึงในความคิดเห็น
b) โดยทางโปรแกรม
เพิ่มไปที่เช่นviewDidLoad
(เพิ่มเครดิตในคำตอบของSlavco Petkovskiและความคิดเห็นของCris R )
// Objective-C
self.automaticallyAdjustsScrollViewInsets = NO;
// Swift
self.automaticallyAdjustsScrollViewInsets = false
c) สิ่งนี้อาจเกี่ยวข้องกับ schoolers เก่า
คุณสามารถแก้ไขได้โดยการเพิ่ม
tableView.contentInset = UIEdgeInsetsZero
//Swift 3 Change
tableView.contentInset = UIEdgeInsets.zero
หรือถ้าคุณใช้ IB และหากแถบนำทางไม่โปร่งใส (ไม่สามารถบอกได้จากภาพหน้าจอ)
- เลือกตัวควบคุมมุมมอง
- เปิดตัวตรวจสอบคุณสมบัติ
- ในตัวเลือกมุมมองคอนโทรลเลอร์ขยายส่วนขอบยกเลิกการเลือก "ภายใต้แถบด้านบน"