【发布时间】:2009-10-27 15:48:59
【问题描述】:
我的 iPhone 应用程序中的一个屏幕是 UITableView,它在表头中有一个搜索栏。我希望在用户将其拉下之前隐藏搜索栏,因此我在 viewDidLoad 方法中使用了这一行:
[self.tableView setContentOffset:CGPointMake(0,40) animated:NO];
这会正确显示表格视图,其中标题从屏幕顶部滚动出来。
当我尝试使用此方法删除一行时出现问题:
[self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:myIndexPath] withRowAnimation:UITableViewRowAnimationRight];
当该行执行时,它会正确地将行从屏幕右侧滑出。但是,如果表格只包含几行,则表格标题(带有我的搜索栏)会向下滚动以填充新删除的行释放的空间。我不希望这种情况发生。我希望标题保持隐藏状态,直到用户用手指向下滚动。
如果 tableView 有足够的行来填充窗口,则表格从底部填充,并且标题保持隐藏。仅当屏幕未完全填满行时才会出现此问题。
知道如何在删除行时强制 UITableView 不显示表头吗?
附录:我发现当我使用如下代码将 UITableViewController 置于编辑模式时也会发生同样的事情:
[self setEditing:NO animated:YES];
它进入编辑模式,显示红色的“删除行”圆圈,并显示表格标题。也许这与动画有关。
【问题讨论】:
标签: iphone cocoa-touch uitableview