または、必要なすべてのビューに対して手動で検索バーを手動で実装する簡単な方法はありますか? アプリのほぼすべてのビューに検索バーを追加する必要があります(また、すべてのビューのナビゲーションバーにボタンを追加する必要があります)。しかし、私はこの目標を達成するための最良のアプローチが何であるか分かりません。
すべてのビューにUISearchbarを追加する方法
- ナビゲーションバーまたはナビゲーションコントローラ全体をサブクラス化する必要がありますか?
- また、必要なすべてのビューで検索バーを手動で適切に実装する簡単な方法はありますか?
どのクラスを適切なクラスにサブクラス化する必要がある場合は、 私の考えはUINavigationController
をサブクラス化し、UISearchBar
を追加し、検索結果を取得した後に検索結果をUITableViewController
として開きます。
これは
import UIKit
class MyNavigationControllerViewController: UINavigationController {
var searchController : UISearchController!
override func viewDidLoad() {
super.viewDidLoad()
self.navigationBar.backgroundColor = UIColor.red
self.createSearchBar()
}
func createSearchBar() {
let searchBar = UISearchBar()
searchBar.showsCancelButton = true
searchBar.placeholder = "Search"
// searchBar.delegate = self
self.navigationItem.titleView = searchBar
}
}
は、少なくとも、デバッガがMyNavigationController
に入りませんが、どちらも検索バーが表示されても(私は実用的なソリューションの午前場合だけチェックするために検索バーのデリゲートを実装しないで)私の現在のアプローチです赤いナビゲーションバー。
申し訳ありませんが、あなたの質問を編集中に文章をコピーした私のMacのクリップボードのバグが原因です。私は拒否される編集要求に頼っていたため、SOには_edit cancel_機能がありません。あなたはちょうど質問を正確に再構成できますか? – ystack