我想以編程方式以編程方式滾動tableview。請注意,我增加了內容大小,因此我只能看到最後幾行。我可以正確地手動滾動以獲得所需的indexpath,但通過編程方式,它不會發生。iOS:scrollToRowAtIndexPath不顯示正確的最後一頁的頂部索引路徑
[tableview reloadData];
CGSize size = tableview.contentSize;
size.height += 1000;
tableview.contentSize = size;
int rows = [tableview numberOfRowsInSection:0];
int numberofRowsInView = 17;
for (int i = 0; i < ceil((float)rows/numberofRowsInView); i++) {
[tableview scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:i * numberofRowsInView inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:NO];
....
}
對於總排60,我希望這個代碼返回0-16,17-33,34-50,51-59細胞意見,但最後滾動返回43-59即滿17行根據上面的代碼查看,頂部的indexpath應該是最後一頁的51!
有人可以幫我解決這個問題。謝謝。
這是手動滾動圖像:
這是編程方式:
我看到你說了什麼,我做了多次嘗試,並以某種方式停止在最後一頁充滿行視圖。無論如何,我可以通過我索要的索引路徑來強迫它上升嗎?我可以手動執行,因爲我已經將內容大小設置爲比實際行更多! – applefreak
檢查內容大小是否真的發生了變化,因爲表格視圖'自己的內容大小可能會改變它。你可以改變表格視圖的框架,但是當你滾動時它可能看起來有點奇怪。爲什麼你想要顯示最後一頁的部分?打開尋呼幫助(我沒有在桌面視圖中試過......) – Wain
是的,它實際上是在改變內容大小。我可以手動滾動以使第51個單元格最頂部,但程式化它不是這樣做的。請參閱我的tableview的附加圖像 - 最後一頁。 – applefreak