Lento con forza

大学生気分のIT系エンジニアが色々書いてく何か。ブログ名決めました。

iOS 16+のTextFieldは複数行を入力可能 【WWDC22】

WWDC前にSwift Playgroundsで遊んでいた時に、複数行を入力したくなって、TextEditorをTextFieldっぽく使う方法を紹介しました。

kouki.hatenadiary.com

今週はWWDCがあり、そこでTextFieldの拡張が発表されました!なんと、TextFieldでTextEditorのような複数行入力が可能になります!

developer.apple.com

こちらのセッションで紹介されています

developer.apple.com

使い方は簡単で、スクロール方向axisを指定する新しいInitializerを使うだけです。

// For iOS 16 or later
struct ContentView: View {
    @State var text = ""

    var body: some View {
        Form {
            TextField("Multiline Input", text: $text, axis: .vertical)
                .lineLimit(5...10)
        }
    }
}

最小の高さと最大の高さは .lineLimit() モディファイアで指定します。

iOS 16からは簡単に複数行入力のフィールドを作れるようになって素晴らしいですね!

iOS 15までをターゲットにしたい場合はこれまでのようにTextEditorを使う方法が便利だと思うので、こちらも参考にしてください!

kouki.hatenadiary.com