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

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

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

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

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

Q&A

0回答

1307閲覧

複数のUISearchBarを実装させたい

Natsu_hill

総合スコア0

iOS

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

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

0グッド

0クリップ

投稿2021/08/24 01:18

編集2021/08/24 02:58

前提・実現したいこと

検索アプリを作成しています。
イメージ説明
写真のように上のUISearchBarはキーワードで検索を、下のUISearchBarは年で検索をと検索するものに分けてUISearchBarを分けたいです。

発生している問題

もしsearchBarに文字が入力されたらというif分岐で分けているのですが、どのsearchBarかを指定してあげることは可能なのでしょうか。

宜しくお願いいたします。

該当のソースコード

Swift

1 @IBOutlet var searchText: UISearchBar! 2 @IBOutlet var SearchYear: UISearchBar!

Swift

1private var keyword = "" 2private var year = "yyyy"

Swift

1 override func viewDidLoad() { 2 super.viewDidLoad() 3 searchText.delegate = self 4 SearchYear.delegate = self 5 searchText.placeholder = "お菓子の名前を入力してください" 6 SearchYear.placeholder = "1996年以降を入力してください" 7 tableView.dataSource = self 8 tableView.delegate = self 9 searchOkashi(keyword: keyword, year: year) 10 }

Swift

1// 検索バーにて検索時 2 func searchBarSearchButtonClicked(_ searchBar: UISearchBar) { 3 view.endEditing(true) 4 if let searchword = searchBar.text { 5 searchOkashi(keyword: searchword, year: year) 6 } 7 if let searchYear = searchBar.text { 8 year = searchYear 9 searchOkashi(keyword: keyword, year: searchYear) 10 } 11 }

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

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

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

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

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

hoshi-takanori

2021/08/24 02:48

2 つの UISearchBar の delegate に this (ViewController) を指定した場合、同じメソッドが呼ばれるので引数の searchBar で区別する必要があります。(というか、そこで区別するために searchBar 引数が存在します。) 別々のメソッドを呼ばれるようにするには、それぞれの delegate にするためのクラスを作れば良いのでは。
Natsu_hill

2021/08/24 05:36

コードの加筆をいたしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問