[SwiftUI]TextEditorのキーボードを表示するには?

SwiftUI

どうも、ちょげ(@chogetarou)です。

コードでTextEditorのキーボードを表示する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

TextEditorのキーボードを表示するには、@FocusStateとfocused修飾子を使います。

まず、Bool型の@FocusStaeを用意します。

@FocusState private var focusedField: Bool

次に、TextEditorにfocused修飾子を付与し、引数に用意した変数の参照を指定します。

TextEditor(text: $text)
    .focused($focusedField)

後は、フォーカスを合わせたい時に変数の値を「true」にします。

self.focusedField = true

変数が「true」になることで、TextEditorのキーボードが表示されます。

スポンサーリンク

使用例

struct ContentView: View {
    
    @State var text = ""
    @FocusState private var focusedField: Bool
    
    var body: some View {
        VStack {
            TextEditor(text: $text)
                .frame(width: 300, height: 200)
                .border(Color.blue)
                .focused($focusedField)
            
            Button("Show Keyboard") {
                focusedField = true
            }
        }
    }
}

コメント

タイトルとURLをコピーしました