2016-05-12 9 views
3

検索バーが追加された単純なTableViewがあります。ビューが表示されたとき(アプリケーションの最初のビュー)、検索バーにフォーカスがある(または表示される)ので、「キャンセル」ボタン(画像参照)が表示される点を除いて、すべて正常に機能します。 私は最初のレスポンダとしてtableviewを設定しようとしました、検索コントローラなどでresignFirstResponderを呼び出してみました。 検索バーをタップしてキャンセルを押すと、フォーカスが削除され、すべての問題はない - "キャンセル"ボタンが消えます。 これはなぜなのか、どのようにフォーカスが合っていない検索バーを表示することができますか?画像に基づいてビューがロードされたときに検索コントローラからフォーカスを削除する

App view as it first appears when app is loaded

+0

私たちがあなたを助けることができるように、コードを掲載することができます。 – Madhu

+0

'viewdidload'で' searchBar.setShowsCancelButton = false'を設定します。検索バーが 'searchBar.setShowsCancelButton = true'を編集開始し、' searchBar.setShowsCancelButton = false'に編集終了を返した場合 – Sudhir

+0

詳細を確認してくださいhttp:// stackoverflow .com/questions/13028665/how-to-show-cancel-button-of-searchbar – Sudhir

答えて

0

、あなたのテキストフィールドは、最初の応答者ではありません、あなたはちょうどあなたがShows Cancel Button

のチェックを外し、 searchBar.setShowsCancelButton = false

やストーリーボード内に設定することができ、ボタン

をキャンセル表示したくありません

enter image description here

then ifあなたはUISearchBarDelegateメソッドチェックし、編集中にキャンセルボタンを表示する:

FUNCをsearchBarTextDidBeginEditing

をしてsearchBar.setShowsCancelButton = true

funcが

をsearchBarCancelButtonClickedとsearchBar.setShowsCancelButton = false

を設定する設定しました
+0

ありがとう、それはSudhirが私に言ったものに似ています。彼に私の返事を見てください。実際には、私はsearch barが最初のレスポンダだとは思わない。なぜなら、viewDidLoadの最初のレスポンダを辞めると何も変わらないからだ。 –

+0

あなたの写真に基づいている。キャンセルボタンは今すぐ削除されますか?今あなたの問題は何ですか? – Ted

+0

Ted、 申し訳ありませんが、わからない場合は。状況は次のようになります:Appが最初に起動すると、ビューは私が投稿したスクリーンショットのようになります。検索バーのviewDidLoadにresignFirstResponderを追加しても、これは変わりません。 ユーザーが検索バーをタップすると、検索バーがアクティブになり、ユーザーはキャンセルボタンを表示して検索できます。その後、ユーザーがキャンセルボタンをタップすると、検索がキャンセルされ、キャンセルボタンが消え、検索バーが全幅に戻ります。アプリが起動したときと同じだったはずです。 私の唯一の問題は起動時です。なぜキャンセルボタンがそこにありますか? –

0

viewDidLoad()メソッドでsearchBar.resignFirstResponder()を追加します。

-Good Luck。

+0

申し訳ありません、それは動作しませんでした。明らかに最初のレスポンダーではありません。 –

関連する問題