swift - 为搜索栏设置输入 View - Swift

标签 swift uisearchbar

class TestViewController: UIViewController, UISearchBarDelegate {

  @IBOutlet weak var mySearchBar: UISearchBar!
  var myOwnInputView = UIView(frame: CGRectMake(100,100,50,50))

  overide func viewDidLoad() {
    mySearchBar.delegate = self
    mySearchBar.inputView = myOwnInputView // errors - "Cannot assign to the result of this expression
  }

}

我正在尝试为我的搜索栏分配一个自定义输入 View ,但是根据苹果文档(-抱歉找不到链接),对于 UISearchBar 它似乎是一个只读值。看着this post ,看来 UISearchbar 有多个 subview ,我需要进入 UITextField 部分才能更改输入 View 。但是,我对 Obj-C 不够熟悉,我尝试将代码转换为 Swift 的尝试也没有成功。

最佳答案

这是最简单的方法:

let searchTextField = searchBar.valueForKey("_searchField") as! UITextField
searchTextField.inputView = myOwnInputView

关于swift - 为搜索栏设置输入 View - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30565552/

相关文章:

ios - 用 Realm Swift 中的结果中的一些项目制作一个列表

ios - 如何通过单击 tableview 单元格上的按钮来获取文档 ID?

ios - 我如何知道何时可以重新加载 TableView ,以便它显示我下载和解析的 JSON 数据?

ios - UISearchDisplayController/UI SearchResults TableView 在每次搜索时添加额外的行? IOS 7

ios - 搜索栏取消按钮不重新加载原始 TableView 和数据

swift - 具有核心数据问题的搜索栏

ios - UICollectionView加载完成后如何启动功能?

ios - 每周通知的 LocalNotification repeatingInterval 值

iphone - 使 UItextfield 的功能类似于 UISearchBar

ios - 如何在 Swift 中搜索字典内部