加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 05:20:46 所属栏目:百科 来源:网络整理
导读:当用户将焦点放在搜索栏上,正好位于导航栏上的“搜索栏”下方时,我正在尝试为“位置”输入添加另一个文本框. 我有什么,我想要去的例子: 我试过这样的东西,这不行: var searchController: UISearchController!func searchBarTextDidBeginEditing(searchBar:
当用户将焦点放在搜索栏上,正好位于导航栏上的“搜索栏”下方时,我正在尝试为“位置”输入添加另一个文本框.

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

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

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)
}

希望它有帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读