我正在尝试重新创建Yahoo Finance应用中的搜索字段。我按照在线教程定制了UISearchBar和UISearchController,但是我仍然遇到了一些问题。如果你们中的任何一个人可以打开我的项目,看看我哪里出错了/我需要添加这些线路的地方甚至其中一条非常棒。
我可以在此处找到我尝试过的解决方案项目:https://github.com/jordanw421/yahoofinance
1)如果视图出现,如何激活搜索栏(左侧是文本,键入指示灯闪烁)?在下面的链接中,您可以看到我在说什么,当按下按钮时,加载了搜索视图并且搜索栏立即处于活动状态。
我尝试使用:
customSearchController.definesPresentationContext = true
customSearchController.isActive = true
customSearchController.searchBar.becomeFirstResponder()
但这不起作用。我应该在prepareForSegue的初始视图控制器中设置这些吗?
2)如何设置键盘外观(变暗),以及添加带按钮的键盘工具栏?
我能够将其用于非自定义搜索栏,但由于某些原因,这些现在无效:
customSearchController.searchBar.keyboardAppearance = .dark
和
func addKeyboardButton() {
let keyboardToolbar = UIToolbar()
keyboardToolbar.sizeToFit()
keyboardToolbar.isTranslucent = false
keyboardToolbar.barTintColor = UIColor.blue
let addButton = UIButton(type: .custom)
addButton.frame = CGRect(x: keyboardToolbar.frame.size.width / 2, y: keyboardToolbar.frame.size.height / 2, width: 50, height: 30)
addButton.addTarget(self, action: #selector(clickMe), for: .touchUpInside)
let item = UIBarButtonItem(customView: addButton)
keyboardToolbar.items = [item]
customSearchController.searchBar.inputAccessoryView = keyboardToolbar
}
并致电,
addKeyboardButton()
在搜索栏中配置功能。</ p>
3)如何阻止搜索栏/表格视图标题滚动,但仍允许tableView滚动?
如果您查看我尝试过的解决方案,您可以看到由于某种原因,tableview标题随表格视图滚动。当我使用非自定义搜索栏时,标题保持静态。
我知道这里有很多问题,但我已经坚持了一段时间,并且可以真正使用一些帮助。谢谢。