QA@IT

TextFieldへ入れる値を、Modalで候補を表示し選ばせる仕組みのカスタムクラス化

3618 PV

Xcode 6.3でiPhoneアプリを開発しています。

その中で、複数の値を入力させる画面があります。
直接入力してもらうのではなく、こちらが用意した値の中から選ぶカタチの入力方法を実装したいです。

このページを参考に少し修正し、

  1. TextFieldをクリック
  2. Modalで出現した複数の値から、タップで選択
  3. 最初のTextFieldに反映 というやり方は実現できたのですが、これを1つのコンポーネントとして切り出し、選択肢を配列として渡せばすぐに同様のTextFieldが作成できるようなものを実装したいです。 どのように作成したらよいか困っています。

イメージは、画像の通りなのですが、日本語・英語ともに検索してもなかなかいい解が見つかりませんので、サンプルコードなど教えて頂けたらとてもうれしいです。

よろしくお願いします。

IMG_0638.JPG

回答

UITextFieldのサブクラスを作り、そこに以下の機能を追加してください。

  1. 選択肢プロパティ
  2. Modalから値を選択する機能

そして、XcodeでTextFieldを配置したあと、それのクラスをサブクラスに変更し、ViewControllerのviewDidLoadの中で、選択肢プロパティを設定します。

編集 履歴 (0)
  • ありがとうございます!!UITextFieldのサブクラスなんですが、選択肢プロパティを受け取る配列を作る方法は、サブクラス内で該当変数を定義したら外部からセットできますでしょうか? -
  • varでインスタンス変数を定義すれば、外部からセットできます。 -
  • ありがとうございます!!やってみます! -
ウォッチ

この質問への回答やコメントをメールでお知らせします。