如果使用 touchesBegan 来收起键盘,能响应touchesBegan的方法,但是不能收起键盘,这个是因为该线程不在主线程中,应该把键盘收起的动作放在主线程中进行。
dispatch_async(dispatch_get_main_queue(), ^{
[self.view endEditing:YES];
});其它出现下图情况的也适用。
本文介绍了如何在SwiftUI中通过touchesBegan方法收起软键盘。由于touchesBegan方法不在主线程中运行,直接调用可能会导致键盘无法正常收起。解决办法是使用dispatch_async将[self.view endEditing:YES]的操作调度到主线程执行。
6462

被折叠的 条评论
为什么被折叠?



