SwiftUI滑動隱藏App虛擬鍵盤

by Hsiangming Lo

在SwiftUI中點選了TextField會自動出現虛擬鍵盤讓使用者輸入文字,但除非切換畫面,不然虛擬鍵盤就會一直顯示在螢幕上,這裡來記錄一下如何滑動畫面隱藏虛擬鍵盤。

iOS 15:

在App第一個畫面的最外層元件的加入:

.onAppear {
    UIScrollView.appearance().keyboardDismissMode = .onDrag
}

iOS 16 以上:

在TextField外的Form加入:

Form {
    ...
}
.scrollDismissesKeyboard(.immediately)