【问题标题】:UISearchbar Static TableviewUISearchbar 静态表格视图
【发布时间】:2014-01-07 15:59:19
【问题描述】:

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

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

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

【问题讨论】:

  • 为什么“需要”静态单元格?
  • 因为我在单元格上使用带有按钮的 tableviewcontroller,所以当单击按钮时,每个按钮的变量将发送到下一个视图控制器,该按钮也被该按钮按下。
  • 没有什么需要静态单元格。如果静态单元对您有帮助,它们会很方便。否则它们是一个障碍,原型单元和配置数组可能是更好的解决方案。

标签: ios uitableview static uisearchbar


【解决方案1】:

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

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

不过,我建议你根本不需要使用静态单元格,这样会简单很多。您不必处理此映射即可完成此工作。如果您的单元格中有 UITextFields 或其他可能导致重用问题的视图类型,您可能想要使用静态单元格。但是在您的情况下,使用动态表格会更好,因为如果要在不同的索引处重用单元格,则单元格中没有任何可能需要保存的内容。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-13
    • 2014-04-17
    • 1970-01-01
    • 1970-01-01
    • 2012-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多