带有 Google SDK 的 UITableView 静态第一个单元格
Posted
技术标签:
【中文标题】带有 Google SDK 的 UITableView 静态第一个单元格【英文标题】:UITableView Static First Cell with Google SDK 【发布时间】:2016-04-25 23:13:33 【问题描述】:我试图弄清楚如何在 UITableView 中拥有一个静态的第一个单元格,然后为其余单元格提供动态结果。
更具体地说,我使用的是 Google SDK,当用户在 UISearchBar 中输入地址或位置时,会在下面的 UITableView 中自动完成。我希望搜索栏下的第一个单元格保持静态并显示“当前位置”,然后在其下方显示自动完成结果。
我尝试使用类似于here 概述的方法。我不知道如何使它工作,因为这会使从 Google 自动完成返回的索引超出范围。
这是我一直在尝试但不起作用的一般方法:
override func numberOfSectionsInTableView(tableView: UITableView) -> Int
return 1
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
return self.searchResultsGoogle.count + 1
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
//let cell = tableView.dequeueReusableCellWithIdentifier("cellIdentifier", forIndexPath: indexPath)
if indexPath.row == 0
let cell = self.tableView.dequeueReusableCellWithIdentifier("cellIdentifier", forIndexPath: indexPath)
cell.textLabel?.text = "Current Location"
cell.textLabel?.textColor = UIColor(red: 14/255, green: 122/255, blue: 254/255, alpha: 1)
return cell
else
let cell1 = self.tableView.dequeueReusableCellWithIdentifier("cellIdentifier", forIndexPath: indexPath)
cell1.textLabel?.text = self.searchResultsGoogle[indexPath.row]
return cell1
关于如何解决这个问题的任何想法?谢谢!
【问题讨论】:
静态第一个单元格: 1. 创建一个“CustomTableViewCell”类型的属性,使这个自定义单元格包含一个搜索栏。 2.初始化这个单元格你的init方法,把这个单元格添加到字典中,然后当你在索引路径中点击单元格时“行是第一行”,只返回这个静态单元格,所以使用if/then ,一切都很简单 【参考方案1】:改变这个:
cell1.textLabel?.text = self.searchResultsGoogle[indexPath.row]
到:
cell1.textLabel?.text = self.searchResultsGoogle[indexPath.row - 1]
这将调整行索引以考虑固定行。
更好的解决方案可能是使用单独的部分。将固定行放在第 0 节中,将您的实际数据放在第 1 节中。
顺便说一句 - 由于单元重用,您还有另一个问题。您需要重置其他行的文本颜色。否则,当您滚动表格视图时,某些行会显示错误的颜色。
【讨论】:
是的!感谢您分享您美丽的大脑。关于表格中的部分的好点。我需要更多地了解它才能使用它。仅供参考,对于字体颜色,我故意希望静态单元格为不同的颜色,以便脱颖而出。感谢您毫不犹豫地指出来! 你错过了我关于单元格颜色的观点。可以为静态单元格使用不同的颜色。但是您还需要重置非静态单元格的颜色。如果你不这样做,当用户滚动表格视图时,你会看到静态单元格的颜色出现在你不希望它出现的地方。 知道了。感谢您的澄清!以上是关于带有 Google SDK 的 UITableView 静态第一个单元格的主要内容,如果未能解决你的问题,请参考以下文章
带有 Google SDK 的 UITableView 静态第一个单元格
无法使用带有 IDFA 的 Google Analytics iOS SDK 验证人口统计报告的跟踪代码
带有适用于 iOS 的 Google Maps SDK 的可拖动标记
带有 Google PHP SDK 的 YouTube API - 以 JSON 格式响应