如何显示新的UITableView框架?

时间:2013-09-02 07:57:34

标签: ios

如果在删除行时更改UITableView的框架,例如:

tableView:commitEditingStyle:forRowAtIndexPath:
{
    [tableView setFrame:CGRectMake(tableView.frame.origin.x, tableView.frame.origin.y, tableView.frame.size.width, tableView.frame.size.height + 40]
}

我没有看到表格布局有任何变化。我是否需要刷新视图,以便使用新框架显示表格?

感谢

3 个答案:

答案 0 :(得分:0)

试试这个。

[tableView beginUpdates];
[tableView setFrame:CGRectMake(tableView.frame.origin.x, tableView.frame.origin.y, tableView.frame.size.width, tableView.frame.size.height + 40];
[tableView endUpdates];

答案 1 :(得分:0)

您可以使用以下代码删除该行。

[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationBottom];
numberofRowsinTable--;

之后,

[tableview reloadData];

您还需要在

中减少并返回表格的行数
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return numberofRowsinTable;
}

答案 2 :(得分:0)

也许您还需要更新tableView.contentSize = tableView.frame

否则使用

[tableView setNeedsLayout];
[tableView setNeedsDisplay];

重绘tableView的方法