UISearchController
iOS 8 で導入された新しい APIを試しています。API は新しいものですが、同じ古いUISearchBar
. に追加しましたUINavigationController
。titleView
import UIKit
class ViewController: UIViewController, UISearchBarDelegate {
override func viewDidLoad() {
super.viewDidLoad()
let searchController = UISearchController(searchResultsController: nil)
searchController.hidesNavigationBarDuringPresentation = false
searchController.dimsBackgroundDuringPresentation = false
searchController.searchBar.delegate = self
navigationItem.titleView = searchController.searchBar
}
}
ナビゲーション バーの幅全体を占める検索バーは必要ありません。問題は、サイズを変更できないことです。まずは検索バーの枠を設定してみました。
searchController.searchBar.frame = CGRect(x: 0, y: 0, width: 100, height: 44)
うまくいかなかったので、titleView
のフレームを設定してみました。
navigationItem.titleView!.frame = CGRect(x: 0, y: 0, width: 100, height: 44)
どちらも機能しません。
これを行う別の方法を知っている人はいますか?
ありがとうございました。