UISearchbar静态表视图

时间:2014-01-07 15:59:19

标签: ios uitableview static uisearchbar

是否有可能在静态单元格上有UISearchBar,我真的需要静态单元格,其中有40个,所以如何在其中使用UISearchBar? 我的单元格中有一个按钮(每个名称都有另一个按钮(每个单元格有另一个名称))。

所以基本上我需要在每个单元格上搜索按钮文本,并为此显示包含搜索字符串的单元格。

有人可以提供帮助吗? 感谢您的时间和精力。

1 个答案:

答案 0 :(得分:1)

当您使用静态单元格时,您可能已经知道,您没有在UITableViewController中实现委托方法。但是,如果您只想显示一些静态单元格(或更改显示的单元格),您可以实现委托方法,并在进行所需的任何更改后调用它们。

所以我的意思是......如果我有一个静态表视图,包含1个部分,3个单元格,而我只想显示第一个单元格和最后一个单元格,我会实现- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section,并且返回2.然后我将实现- (UITableViewCell *)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath,当它使用第0节第0行的索引路径调用时,我将使用第0行第0行调用超类方法。当它被调用时使用section 0第1行,我将使用第0行第2行调用超类。基本上,我将从将显示的行索引映射到故事板中定义的完整静态表中的索引。

但是,我建议您根本不需要使用静态单元格,这样会更简单。您无需处理此映射即可实现此功能。如果您的单元格中包含UITextField,或者某些其他类型的视图可能导致重用问题,您可能希望使用静态单元格。但在你的情况下,使用动态表会好得多,因为如果一个单元格将在不同的索引中重用,那么单元格中没有任何内容可能需要保存。

如果你去动态表路由,你只需要为搜索栏实现委托,当你输入时,你将把过滤结果列表存储在一个存储在实例变量或属性中的数组中,然后重新加载你的表,使用该数组作为数据源。