2011-05-25 66 views
1

從以前的帖子UITableView, only showing UITableViewCells with data中,我能夠相應地調整我的UITableView的大小。我做這個調整大小的方法:根據數據調整UITableView框架的大小

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

我宣佈一個的CGRect originalFrame保持我原來的tableView的大小,因爲我正在哪裏,如果我從小走到大排(即1至5行)一個問題, 5行然後將顯示在1行空間而不是5中。所以在我的viewDidLoad方法中,我將tableView.frame重置爲originalFrame。它非常有效。然而,我現在看到的細微差別是,它仍然記得載入表格時的最後選擇,然後當你觸摸表格時,它會正確地重新載入。例如,假設我正在顯示3行數據,然後移動到具有5行數據的選擇。當UITableView重新加載時,它首先只顯示3行數據,然後當我觸摸UITableView時,接下來的兩行奇蹟般地出現,並且它正常工作。它只會發生,如果我從小到大。如果我從包含5行數據的選擇開始,它看起來很好。然後我轉到一個有3行數據的較小選區,然後它自動調整爲3行。有什麼想法嗎?我是不是在正確的時間重畫?我是否將我的尺寸調整到正確的位置?

回答

0

試試這個:

[myTableView reloadData]; 

調整框架之後。