UITableViewController 中行单元格边框的重复
我在 UITableViewController 中有一个搜索控制器。当我滚动记录时一切正常,但当我处于搜索模式时就会出现问题。从搜索控制器返回的结果集表现得很奇怪。如果我开始滚动,则带有单元格和边框的整行开始正常滚动,但初始单元格边框出现在屏幕顶部并保持固定在初始边框位置。所以我遇到了重叠的双行单元格边框。有谁知道是什么原因导致这种行为?
更新:看起来如果搜索结果包含更多行(如 9),则滚动行为正常。但如果有 3 或 4 行,就会出现那些奇怪的固定单元格边框。
I have a search controller in UITableViewController. Everything is OK when I'm scrolling through the records, but the problem appears when I'm in search mode. The result set returned from search controller behaves very strange. If I start to scroll then the whole rows with cells and borders start to scroll normally but then the initial cell borders appears on top of the screen and stays fixed at the initial border positions. So I'm experiencing double row cell borders that overlaps. Does anybody know what causes such behavior?
UPDATE: it looks like if the search result contains more rows (like 9) then the scroll behaves normally. But if there are 3 or 4 rows then those weird fixed cell borders appear.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
最后,我发现了问题所在。问题是我意识到使用搜索时有不同的 tableView:tableView 和 searchResultsTableView。后者可通过 self.searchDisplayController.searchResultsTableView 访问。因此,我有一个对输入搜索文本做出反应的委托方法:
看起来我需要重新加载 searchResultsTableView 而不是主 tableView。
Finally, I found the problem. The thing is I realized that there are different tableViews when using search: the tableView and searchResultsTableView. The latter is accessible via self.searchDisplayController.searchResultsTableView. So, I have a delegate method that reacts to input search text:
It looks like I needed to reload searchResultsTableView instead of main tableView.