2015-01-29 15 views
6
tableView.setContentOffset(CGPointMake(0, tableView.contentSize.height - tableView.frame.size.height), animated: true) 

Nó hoạt động, nhưng tôi tự hỏi những gì thực sự là những hai giá trị: tableView.contentSize, tableView.frame.sizesự khác biệt giữa 'tableView.contentSize' và 'tableView.frame.size' là gì

+0

Nó liên quan đến phần 'UIScrollView', về nội dung thực sự được hiển thị và kích thước toàn bộ trong thực tế (đếm nội dung" ẩn ", không hiển thị trừ khi bạn cuộn) – Larme

+2

nếu bạn muốn đi sâu, hãy xem [ này] (http://www.objc.io/issue-3/scroll-view.html) – Ethaan

Trả lời

12

Các contentSize là kích thước nội dung của UIScrollView, điều đó có nghĩa là kích thước của nội dung (ẩn và hiển thị) trong khi frame.size là kích thước thực của tableView của bạn. Ví dụ: giả sử tôi có màn hình 568 (chiều cao) của thiết bị và bên trong nó, tôi có một UITableView (chụp toàn bộ màn hình) với 100 ô và chiều cao là 50 cho mỗi ô. My tableView.frame.size.height sẽ bằng 568, nhưng tableView.contentSize.height sẽ bằng kích thước cuộn của tất cả các ô, vì vậy 5000.

Ngoài ra, theo đề xuất của @Ethaan, hãy đọc this để đi sâu hơn.

Các vấn đề liên quan