【问题标题】:Clearing TableView contents清除 TableView 内容
【发布时间】:2011-08-13 06:43:47
【问题描述】:

任何人都可以通过提供有关如何清除所有表格视图单元格内容的代码来帮助我。 按下按钮时的 tableview 会重新加载但不会被清除

谢谢 拉克什

【问题讨论】:

  • Legolas 的回答和 Neelesh 的评论的组合构成了您的答案。希望对您有所帮助。
  • 应该有,但我有很多数组,它们是相互关联的,所以不容易
  • 你能把那个代码贴出来让我检查一下代码并帮助你吗?
  • 嗨,帕思。搜索后如何清除tableView?我的意思是,从搜索栏搜索项目后,当我单击搜索栏的 (x) 关闭按钮时,tableView 也应该被清除。我希望你能理解。

标签: iphone ios ios4 iphone-sdk-3.0


【解决方案1】:

要清除 tableView,您只需从填充表格的数组中删除所有对象,然后重新加载 tableView。

[myArray removeAllObjects];
[self.tableView reloadData];

【讨论】:

  • 但我必须稍后使用数组值,所以我无法清除它。我想要一个不清除数组的解决方案。你能帮忙吗???
  • 将数组复制到另一个数组中并将其用作数据源
【解决方案2】:

设置一个bool tableIsEmpty并将tableview中的行数设置为0(表为空)或数组根据此BOOl计数

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;

当然,您必须在按下按钮时设置 tableIsEmpty = YES,并在加载数据时再次设置为 NO。 然后调用

[self.tableView reloadData];

未经测试,但应该可以正常工作吗?

【讨论】:

  • 我正要给出一个类似的解决方案。如果他知道它应该返回 0 的条件,这将起作用。+1
  • 是的,只需添加一个 BOOL 属性来跟踪是否应清除单元格。
【解决方案3】:

您可以在重新加载表格之前添加一个变量作为标志。

makeEmpty = YES;
[tableview reloadData];
makeEmpty = NO;

然后在tableview委托方法中

 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
 {
  if(makeEmpty)
      return 0;
 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-30
    • 2011-03-05
    • 2016-05-12
    • 2011-05-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多