[英]UITableView does not scroll to bottom (Swift IOS)
我的 UITableView 不會滾動到底部並在顯示所有內容之前停止(切斷最后幾行)。 我已經檢查過我的 UITableView 是否等於屏幕大小,但內容大小大於屏幕和表格高度。 我不確定為什么會這樣。
1)你的屏幕底部有UITabBar
嗎? 此內容可能會被欄覆蓋。 如果是這樣,請轉到您的故事板和您的UIViewController
您將UITableView
放入並取消選中它是Under Bottom Bars
布爾值。
2)您可能在底部設置了一個NSLayoutConstraint
為負值。 這意味着您的UITableView
將延伸到屏幕底部。 如果是這樣,請將UITableView
的底部約束重置為 0.0。
3)您可能想嘗試使用UITableView
滾動方法。 獲取最后一個單元格的索引:
[yourTableView scrollToRowAtIndexPath:lastCellIndex
atScrollPosition:UITableViewScrollPositionTop
animated:YES];
4) UITableView
是UIScrollView
子類。 因此你可以這樣對待它。
如果UITableView
中的單元格具有相同的高度,您可以將數據源中的對象數量乘以單元格的高度,然后您就知道要在UIScrollView/TableView
方法中輸入什么值作為 contentOffset:
(void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated
這很可能發生在小型 iPhone 設備中。 因為您沒有正確設置 tableview 的底部約束。 檢查該約束。 如果它不存在添加它。
可能您需要設置自動尺寸:-
您可以使用正確的約束將 tableView 固定到超級視圖,如果您使用自定義 tableview 單元格,然后將所有標簽約束(前導、尾隨、頂部和底部)固定到單元格,然后在您的 ViewController viewDidLoad
方法中編寫以下代碼:-
tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 44.0
一旦您的約束正確,那么您的表格視圖單元格內容大小將根據內容動態調整大小。
筆記:-
如果您使用UITableViewAutomaticDimension
不要使用 tableview 委托方法(heightForRowAtIndexPath)
來調整高度
在我的情況下......刪除
tableview.frame.size = tableview.contentsize 有效
從屬性檢查器內的故事板取消選中各個 ViewController 的“Under Bottom Bars”解決了我的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.