swift – 当焦点在搜索栏上时,如何向UISearchController添加另一个文本框?

前端之家收集整理的这篇文章主要介绍了swift – 当焦点在搜索栏上时,如何向UISearchController添加另一个文本框?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
用户将焦点放在搜索栏上,正好位于导航栏上的“搜索栏”下方时,我正在尝试为“位置”输入添加另一个文本框.

我有什么,我想要去的例子:

我试过这样的东西,这不行:

var searchController: UISearchController!

func searchBarTextDidBeginEditing(searchBar: UISearchBar) {
    var myTextField: UITextField = UITextField(frame: CGRect(x: 0,y: 0,width: 200.00,height: 40.00))
    myTextField.backgroundColor = UIColor.purpleColor()
    myTextField.text = "Location"
    myTextField.borderStyle = UITextBorderStyle.None
    searchController.view.addSubview(myTextField)
}

任何帮助将是伟大的!谢谢.

不知道你是否找到答案.让我建议我的解决方案.

你的代码没有错.工作正常但是为什么它不显示的原因是,当您在搜索栏中点击func searchBarTextDidBeginEditing(searchBar:UISearchBar)对它没有影响,因为您可能忘记为搜索栏设置委托.

我试过你的代码,设置代理它工作正常.当Y位置为0时,它也隐藏在导航栏的后面.解决方案是,

>将UISearchBarDelegate添加到你的类
>在viewDidLoad()

override func viewDidLoad(){
    super.viewDidLoad()
    searchcontroller.searchbar.delegate = self
    }

>在searchBarTextDidBeginEditing

func searchBarTextDidBeginEditing(searchBar: UISearchBar) {           

    var myTextField: UITextField = UITextField(frame: CGRect(x: 0,y: searchController.searchBar.frame.height + 20,width: view.frame.size.width,height: 40.00))
    myTextField.backgroundColor = UIColor.purpleColor()
    myTextField.text = "Location"
    myTextField.borderStyle = UITextBorderStyle.None
    searchController.view.addSubview(myTextField)
}

希望它有帮助.

原文链接:https://www.f2er.com/swift/318884.html

猜你在找的Swift相关文章