質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

2536閲覧

検索結果を表示中のSearchControllerから画面遷移すると遷移先でもSearchBarがずっと表示されている

interpiamobile

総合スコア66

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2016/04/26 08:39

まず以下のようにSearchControllerを実装しました。

Swift

1searchController.searchResultsUpdater = self 2searchController.searchBar.delegate = self 3searchController.dimsBackgroundDuringPresentation = false 4searchController.searchBar.searchBarStyle = UISearchBarStyle.Prominent 5searchController.searchBar.sizeToFit() 6tableView.tableHeaderView = searchController.searchBar 7

そしてSearchBarに文字を入力して検索結果が画面に表示されたとします。そして検索結果が表示されているTableViewのセルをタップすると詳細の画面にPush遷移するようにしているのですが、遷移しても画面の上にずっとSearchBarが表示されています。SearchBarの右横のキャンセルボタンを押すと、ようやくSearchBarが消えます。これは正しい動作ではないですよね?
例えばiPhoneにプリインストールされている連絡先アプリで同様のことを行うと画面遷移した時にはSearchBarは消えています。そして元の画面に戻るとSearchBarに文字が入力され、検索結果が表示された状態の画面が表示されます。このような動作を行うには上記のコード以外に何をしなければならないのでしょうか?画面遷移をする前にsearchController.active = falseとしたのですが、こうするとSearchBarが消えるアニメーションが見えてスムーズじゃないですし、検索結果が表示されていた画面に戻った時にSearchBarに入力されていた文字や検索結果が消えてしまいます。
どなたか解決策がわかる方がいれば教えていただきたいです。よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

遷移前の画面のviewDidLoad()に

swift

1self.definesPresentationContext = true

を追記してはどうでしょうか。

投稿2016/05/03 08:10

on0z

総合スコア25

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

interpiamobile

2016/05/06 02:09

ご回答ありがとうございます。上記の行をコードに書いてみると、思っていたことが実現できました!誠にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問