Swift

Swift:UITextFieldの使い方・・・Delegate(デリゲート)云々


今回はUITextFieldについて色々やってみようと思います。

UITextFieldについて

UITextFieldを使うと、
文字を入力することができます。
例を挙げると、

・名前を入力する欄(フォーム)

・住所を入力する欄(フォーム)

・検索するためにテキストを入力する欄(フォーム) ・・・etc

つまり、アプリにはほとんど必須と言っても良いほどのUIなのです。超大事なのです。

TextFieldを使ってシンプルなアプリを作成しましょう

f:id:jumprails3303:20161122211242p:plain

今回はこんな感じのアプリを作ります!!

まずは新しいプロジェクトを立ち上げ、

StoryBoardを開いてください。

そしてこんな具合で、
UIを配置してください。
f:id:jumprails3303:20161122212357p:plain

次に、コードと結びつけましょう。
名前はそれぞれ、

UILabel:label (outlet)

UIButton:changeButton (action)

UITextField:textField (outlet)

にしましょう。

こうなっていれば完璧です!!

そして最後に

としましょう。

の意味は
labelのtextに、現在表示させてるtextFieldのtextを代入しよう!
という意味です。

ひとまず完成です。
RUNして見ましょう。
動きましたか??

Delegate・デリゲートについて

デリゲートとは、
それぞれのUIのできる範囲にないことを
別のUIに任せることです。

自分ではできないことをできる人に任せる
ということです。

今回なぜ、delegateについて解説しているのかといいますと、
『enter(return)キー』を押した時に、キーボードを閉じる処理をしたいからです。
だいたいどんなアプリもenterを押すと、キーボードが閉じますよね!それです!

しかし、textFieldはキーボードを閉じることができません・・・
そこで、ViewControllerに任せるのです!!

今回では、

enterを押す

TextFieldはenterを押されたことを感知する

TextFieldはenterが押されたことをViewControllerに教える。

ViewControllerがキーボードを閉じる

という動きになります。

TextFieldはキーボードを閉じることができないので、
閉じることができるViewControllerにその処理を任せるということです。

では、具体的に書いていきましょう。

完成!!


コメント

コメントを残す

*