ios - 如果单击 UISearchBar,则更改 UITableView 位置 : [using ModernSearchBar]

标签 ios swift uitableview uisearchbar

免责声明:我对 Swift 相当陌生,并且没有开发人员背景 - 所以请耐心等待我解释这个问题。我正在使用 Swift 4、Xcode 9

我需要在我的应用程序中使用的 UISearchBar 上提供自动建议功能 - 为此我使用了 ModernSearchBar图书馆。它对我来说工作得很好,但最近我编辑了 UISearchBar 代码,使其移动到页面顶部,并且有更大的区域可供用户查看其中的建议。但我目前面临this issue - 因此,虽然 UISearchBar 按预期上升,但建议列表却没有。我知道这个问题是这个库特有的,但如果有人指出我在这方面的正确方向,我将不胜感激。

ModernSearchBar 本身是对应用程序的一个非常巧妙的补充,否则我想保留它(如果可能的话)。但请告诉我是否应该考虑放弃它并自己构建 UI。

最佳答案

于是找到了一个相对简单的解决方案——文件ModernSearchBar.swift库中有一个名为 configureViews() 的函数设置 UITableView 的属性(这是建议列表)。我编辑了searchBar(_ searchBar: UISearchBar, textDidChange searchText: String)函数并添加了这一行 if self.suggestionsView.frame.height == 0.0 { self.configureViews() }到它。这有效,即建议 ListView 也更新为 UISearchBar正如预期的那样,排名第一。而且由于框架高度的限制,它也不会多次更新位置。

更新: 我遇到的另一个问题是,如果我搜索一个单词并返回到上一页,搜索结果 View 每次都会稍微向上移动并开始覆盖 UISearchBar部分,然后就离开了视野。当我删除 keyboardWillShow(notification: NSNotification) 中更新建议列表大小的代码后,问题得到解决。函数在同一个文件中。不确定其原因,但现在它在手机和模拟器上运行良好。

关于ios - 如果单击 UISearchBar,则更改 UITableView 位置 : [using ModernSearchBar],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50498659/

相关文章:

ios - 如何让 "View All"按钮通过 segue 到下一个 ViewController 显示数据?

objective-c - 如何将加载到 UIWebView 中的 pdf 文件存储在我的文档目录中?

ios - 向左或向右移动 UINavigationBar 标题的文本

ios - 来自 Apple Review Team 的 EXC_BREAKPOINT (SIGTRAP) 崩溃报告

ios - 你应该如何在 XCode 中交互调试 Swift 类?

objective-c - 正确使用 NSURLConnection

ios - 如何在 delphi ios 应用程序中显示循环进度?

html - 带有 iPhone 聊天布局的 CSS

swift - 我的解决方案对问题是否正确?成员构造器和自定义构造器

ios - Xcode UITableView 自定义单元 xib 图像高度