https://developer.apple.com/documentation/uikit/uiscrollview/keyboarddismissmode/interactive
在典型的UIScrollView
上,可以设置此属性以使键盘在滚动的同时以交互方式消失。
在SwiftUI中可以实现这一点吗?如果在ScrollView
上不能直接使用,我假设直接嵌入UIScrollView
是可能的。🤔
https://developer.apple.com/documentation/uikit/uiscrollview/keyboarddismissmode/interactive
在典型的UIScrollView
上,可以设置此属性以使键盘在滚动的同时以交互方式消失。
在SwiftUI中可以实现这一点吗?如果在ScrollView
上不能直接使用,我假设直接嵌入UIScrollView
是可能的。🤔
7条答案
按热度按时间gxwragnw1#
我在ContentView的onAppear修饰符中添加了代码,它可以是
onDrag
或.interactive
,这取决于您何时要关闭键盘:uemypmqf2#
是的,
将此代码添加到init()
3phpmpom3#
还想指出的是,jsbeginnerNodeJS的answer也适用于 * 任何 * 可滚动视图,比如
List
。kzmpq1sx4#
看一下
SwiftUI
文档,这似乎还不太可能。我认为最好的选择是将UIScrollView
封装到UIViewRepresentable
中。请参阅here了解开发人员讨论。我找到了tutorial for a UIScrollView here,您只需将KeyboardDismissmode
添加到代码中即可h79rfbju5#
可以,请参阅https://github.com/michaelhenry/KeyboardAvoider
在“KeyboardAvoider {}”内环绕视图
或者
使用视图修饰符.avoidKeyboard()
mnowg1ta6#
对于那些正在使用SwiftUI '列表'并希望取消键盘的用户,请使用下面的命令。UIScrollView取消了emoji键盘水平滚动的键盘。
fnx2tebb7#
对于那些还在为此挣扎的人来说。
正如@yawnobleix所提到的,
ScrollView
上没有任何内置的修改器来实现iOS〈16.0将UITableView外观分配给整个应用程序并不总是最好的选择,所以我找到了另一个使用
DragGesture
的选项快速用户界面4.0
最后,苹果在
ScrollView
上加上了ScrollDismissesKeyboardMode修饰符。