Swift - 自定义SearchController和SearchBar

时间:2017-01-13 18:51:30

标签: ios swift xcode uisearchbar uisearchcontroller

我正在尝试重新创建Yahoo Finance应用中的搜索字段。我按照在线教程定制了UISearchBar和UISearchController,但是我仍然遇到了一些问题。如果你们中的任何一个人可以打开我的项目,看看我哪里出错了/我需要添加这些线路的地方甚至其中一条非常棒。

我可以在此处找到我尝试过的解决方案项目:https://github.com/jordanw421/yahoofinance

1)如果视图出现,如何激活搜索栏(左侧是文本,键入指示灯闪烁)?在下面的链接中,您可以看到我在说什么,当按下按钮时,加载了搜索视图并且搜索栏立即处于活动状态。

https://youtu.be/tRtXm-m1hX0

我尝试使用:

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标题随表格视图滚动。当我使用非自定义搜索栏时,标题保持静态。

我知道这里有很多问题,但我已经坚持了一段时间,并且可以真正使用一些帮助。谢谢。

0 个答案:

没有答案