斯威夫特 - 自定义SearchController和搜索栏(Swift - Custom Sear

2019-09-27 17:41发布

我试图重新为出现在雅虎财经应用搜索领域。 我跟着用于定制的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()

在搜索栏中配置功能。


3)如何防止搜索栏/表视图头球滚动,但仍允许的tableView滚动?

如果你看看我尝试的解决方案,你可以看到,由于某种原因,与表视图的tableview头滚动。 当我使用非自定义搜索栏头保持不变。


我知道这里有很多的问题,但我一直停留在这一段时间,真的可以使用一些帮助。 谢谢。

文章来源: Swift - Custom SearchController and SearchBar