是否有可能在静态单元格上有UISearchBar
,我真的需要静态单元格,其中有40个,所以如何在其中使用UISearchBar
?
我的单元格中有一个按钮(每个名称都有另一个按钮(每个单元格有另一个名称))。
所以基本上我需要在每个单元格上搜索按钮文本,并为此显示包含搜索字符串的单元格。
有人可以提供帮助吗? 感谢您的时间和精力。
答案 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
,或者某些其他类型的视图可能导致重用问题,您可能希望使用静态单元格。但在你的情况下,使用动态表会好得多,因为如果一个单元格将在不同的索引中重用,那么单元格中没有任何内容可能需要保存。
如果你去动态表路由,你只需要为搜索栏实现委托,当你输入时,你将把过滤结果列表存储在一个存储在实例变量或属性中的数组中,然后重新加载你的表,使用该数组作为数据源。