2011-05-25 67 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]; 

调整框架之后。