我在 UIWebview 中有一个文本字段。当按下完成按钮时,键盘不会隐藏并继续显示在 View 上。每当按下完成按钮时,我都想关闭键盘。有什么方法可以在我的 swift 代码中完成按钮操作吗?
我们将不胜感激。
最佳答案
通过 UIWebview 内的文本字段,我将其作为 UITextField 作为 UIWebview 内的 subview ,对吧? 在这种情况下,你只需要在你的类中实现 UITextFieldDelegate,特别是这个委托(delegate)方法 textFieldShouldReturn,只要点击完成按钮就会调用它,所以基本上你会有这样的东西:
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
if (textField == correctTextField) {
textField.resignFirstResponder()
}
return true
}
显然,您首先需要将该 Controller 指定为 textField 委托(delegate)
但据说它不是 native 文本字段而是 html 或网络内容的某种部分然后我会做什么,我会让它调用一个带有特殊方案的请求,例如“hideKeyboard”,我会实现 uiwebviewdelegate 并测试该方案以在我遇到它时隐藏键盘,这是 obj c 中的一个示例:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request
navigationType:(UIWebViewNavigationType)navigationType
{
NSURL *URL = [request URL];
NSString *scheme = [URL scheme];
if ([scheme isEqualToString:@"hideKeyboard"]) {
[self.view endEditing:true];
}
}
关于ios - 如何从 Webview 的键盘获取完成按钮操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44671401/