iOS8のナビゲーションバーに検索バーを表示する

Mihado

UISearchDisplayController持っていたbooleanというプロパティをdisplaysSearchBarInNavigationBariOS 8で、検索バーを上に移動するのと同じことは何ですか?どんなガイダンスでも大歓迎です。

これが私のコードです。なぜこれが機能しないのか完全にはわかりません。検索バーをクリックすると、検索バー自体とナビゲーションバーが上に移動するのではなく、消えてしまいます。

import UIKit

class ViewController: UIViewController, UISearchResultsUpdating, UISearchControllerDelegate, UISearchBarDelegate, UITableViewDelegate, UITableViewDataSource {

let searchController = UISearchController(searchResultsController:  nil)

var tableView = UITableView()

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    self.searchController.searchResultsUpdater = self
    self.searchController.delegate = self
    self.searchController.searchBar.delegate = self

    self.searchController.hidesNavigationBarDuringPresentation = true
    self.searchController.dimsBackgroundDuringPresentation = true

    tableView.dataSource = self
    tableView.delegate = self


    self.navigationItem.titleView = searchController.searchBar


    self.definesPresentationContext = true

    self.setupSearchBar()




}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

func updateSearchResultsForSearchController(searchController: UISearchController) {

}

func setupSearchBar() {

    // Set search bar position and dimensions
    var searchBarFrame: CGRect = self.searchController.searchBar.frame
    var viewFrame = self.view.frame
    self.searchController.searchBar.frame = CGRectMake(searchBarFrame.origin.x, searchBarFrame.origin.y + 64,viewFrame.size.width, 44)


    // Add search controller's search bar to our view and bring it to forefront
    self.view.addSubview(self.searchController.searchBar)

}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    var cell = UITableViewCell()

    return cell
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 5
}
}
ビクターシグラー

Appleによると:

UISearchDisplayControlleriOS 8では非推奨です(UISearchDisplayDelegateこれも非推奨です。)iOS 8以降で検索バーの表示を管理し、検索結果を表示するには、代わりにを使用しますUISearchController

このUISearchControllerクラスは、検索結果コントローラーのコンテンツと連携して検索バーの表示を管理するインターフェースを定義します。searchResultsControllerプロパティでUIViewController指定されオブジェクトである検索結果コントローラーは、検索結果を管理します。

これで、を使用しUISearchControllerて、次の方法でナビゲーションバーに検索バーを表示できます

class ViewController: UIViewController, UISearchControllerDelegate, UISearchResultsUpdating, UISearchBarDelegate {

    var searchController : UISearchController!

    override func viewDidLoad() {
       super.viewDidLoad()
    
       self.searchController = UISearchController(searchResultsController:  nil)
    
       self.searchController.searchResultsUpdater = self
       self.searchController.delegate = self
       self.searchController.searchBar.delegate = self
    
       self.searchController.hidesNavigationBarDuringPresentation = false
       self.searchController.dimsBackgroundDuringPresentation = true
    
       self.navigationItem.titleView = searchController.searchBar
    
       self.definesPresentationContext = true        
    }

    func updateSearchResults(for searchController: UISearchController) {
    
    }

    override func didReceiveMemoryWarning() {
       super.didReceiveMemoryWarning()
       // Dispose of any resources that can be recreated.
    }
}

ただしUINavigationController、このストーリーボードで「いいね」を設定する必要があることを考慮する必要があります

ここに画像の説明を入力してください

を選択してViewController次の手順を確認するだけで、非常に簡単に実行できます。

ここに画像の説明を入力してください

そして、検索バーをクリックすると、次の画像がデバイスに表示されます。

ここに画像の説明を入力してください

これがお役に立てば幸いです

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

UISearchControllerがIOS8のビューナビゲーションバーを非表示にしないように制限する方法

分類Dev

iOS8 SwiftUISearchControllerはナビゲーションバーを非表示にします

分類Dev

ナビゲーションバーのiOS検索バー

分類Dev

Swiftのナビゲーションバーで検索バーを取得する

分類Dev

iOS 11でナビゲーションバーの検索バーをカスタマイズする

分類Dev

iOS 11でナビゲーションバーの検索バーをカスタマイズする

分類Dev

iOS 11でスクロールせずにナビゲーションバーに検索バーを表示する

分類Dev

ナビゲーションバーに検索ボックスを作成する

分類Dev

iOS8ナビゲーションバーBackgroundImage

分類Dev

Swift iOS8で透明なナビゲーションバーとステータスバーの画像アンダーレイを設定する

分類Dev

検索バーを開くと、ナビゲーションバーが非表示になっています

分類Dev

UITableViewControllerはナビゲーションバーを非表示にします[検索バー]

分類Dev

iOS:マスター詳細アプリのナビゲーションバーに検索バーを追加する

分類Dev

WordPressのナビゲーションメニューに検索バーを追加する

分類Dev

色付きのナビゲーションバーを使用すると、検索バーに白い線が表示されます

分類Dev

検索時にセグエのナビゲーションバーを無効にする

分類Dev

iOSのナビゲーションバーに通知バッジを追加する

分類Dev

iOS:ナビゲーションバーに検索バーが表示されているときにスコープバーが非表示

分類Dev

ios8の検索バーを使用して結果が見つからない場合にセクションタイトルを非表示にする方法

分類Dev

検索ボックスをナビゲーションバーの中央に配置する方法

分類Dev

ナビゲーションタイトルの下に検索バーを追加する方法

分類Dev

Appleのカレンダーアプリのように、ナビゲーションバー(iOS 7)内の検索バーを表示/非表示にするにはどうすればよいですか?

分類Dev

基盤:ナビゲーションバーの検索バーが下に伸びすぎている

分類Dev

ナビゲーションバーのアイテムを検索バーに揃える

分類Dev

ストーリーボードiOS8のナビゲーションバーに右バーボタンを追加できません

分類Dev

アイコンを含むiOSナビゲーションバーのすべてを非表示にする

分類Dev

Bootstrap 4を下にスクロールすると、ナビゲーションバーに検索バーが表示されます

分類Dev

Androidのナビゲーションバーを完全に非表示にする方法

分類Dev

検索クエリをFlaskビューに送信するためのブートストラップナビゲーションバー検索

Related 関連記事

  1. 1

    UISearchControllerがIOS8のビューナビゲーションバーを非表示にしないように制限する方法

  2. 2

    iOS8 SwiftUISearchControllerはナビゲーションバーを非表示にします

  3. 3

    ナビゲーションバーのiOS検索バー

  4. 4

    Swiftのナビゲーションバーで検索バーを取得する

  5. 5

    iOS 11でナビゲーションバーの検索バーをカスタマイズする

  6. 6

    iOS 11でナビゲーションバーの検索バーをカスタマイズする

  7. 7

    iOS 11でスクロールせずにナビゲーションバーに検索バーを表示する

  8. 8

    ナビゲーションバーに検索ボックスを作成する

  9. 9

    iOS8ナビゲーションバーBackgroundImage

  10. 10

    Swift iOS8で透明なナビゲーションバーとステータスバーの画像アンダーレイを設定する

  11. 11

    検索バーを開くと、ナビゲーションバーが非表示になっています

  12. 12

    UITableViewControllerはナビゲーションバーを非表示にします[検索バー]

  13. 13

    iOS:マスター詳細アプリのナビゲーションバーに検索バーを追加する

  14. 14

    WordPressのナビゲーションメニューに検索バーを追加する

  15. 15

    色付きのナビゲーションバーを使用すると、検索バーに白い線が表示されます

  16. 16

    検索時にセグエのナビゲーションバーを無効にする

  17. 17

    iOSのナビゲーションバーに通知バッジを追加する

  18. 18

    iOS:ナビゲーションバーに検索バーが表示されているときにスコープバーが非表示

  19. 19

    ios8の検索バーを使用して結果が見つからない場合にセクションタイトルを非表示にする方法

  20. 20

    検索ボックスをナビゲーションバーの中央に配置する方法

  21. 21

    ナビゲーションタイトルの下に検索バーを追加する方法

  22. 22

    Appleのカレンダーアプリのように、ナビゲーションバー(iOS 7)内の検索バーを表示/非表示にするにはどうすればよいですか?

  23. 23

    基盤:ナビゲーションバーの検索バーが下に伸びすぎている

  24. 24

    ナビゲーションバーのアイテムを検索バーに揃える

  25. 25

    ストーリーボードiOS8のナビゲーションバーに右バーボタンを追加できません

  26. 26

    アイコンを含むiOSナビゲーションバーのすべてを非表示にする

  27. 27

    Bootstrap 4を下にスクロールすると、ナビゲーションバーに検索バーが表示されます

  28. 28

    Androidのナビゲーションバーを完全に非表示にする方法

  29. 29

    検索クエリをFlaskビューに送信するためのブートストラップナビゲーションバー検索

ホットタグ

アーカイブ