[SwiftUI] TextField 文字を入力する

ユーザーからの文字入力を受け取るにはTextFieldを使います。

Xcode 13.4.1

TextField

UIKitではUITextFieldを使ってユーザーに文字入力をさせていましたが、SwiftUIではTextFieldです。

Libraryの「+」からtextfieldを検索すると「TextField」が出てきます
それをPreviewかコードにdrag & dropします

  • Placeholder: 昔はtitleと言ってましたが入力の説明など
  • value: ここに入力される文字列が入る。「$」をつけて指定する

簡単に文字列を入力するだけのコードを記述してみると、

 

これでPreViewを実行

ヒントとして
1 + 2 = ?
と出てくるのでヒントをタップしてからダイレクトにMacから数字を入力できます。

端末内のキーボードはSimulatorでは可能です

入力文字を取り込んでから表示する方法を確認してみます


Previewで実行してみると、文字が入力されました。

 

Previewが2つ! この sample codeを何気に使っていると、Previewが2つになってしまいました。TextFieldとTextのpreviewが2つ別々にできてしまったわけです。VStackでまとめることで解決しましたが、何気に焦った。

References:
TextField | Apple Developer Documentation
init(_:text:onEditingChanged:onCommit:)