我在UIWebview中有一个文本字段。按下完成按钮时,键盘不会隐藏并继续显示在视图上方。我想在按下完成按钮时关闭键盘。有没有办法在我的swift代码中完成按钮操作?
任何帮助将不胜感激。
答案 0 :(得分:2)
通过UIWebview中的textfield,我把它作为UITextField作为UIWebview中的子视图吧? 在这种情况下你只需要在你的类中实现UITextFieldDelegate,特别是这个委托方法textFieldShouldReturn,只要点击完成按钮就会调用它,所以基本上你会有这样的东西:
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
if (textField == correctTextField) {
textField.resignFirstResponder()
}
return true
}
显然你需要首先将该控制器指定为textField委托
但据说它不是本地文本字段,而是一个html或webcontent的某种部分然后我会做什么,我会让它调用一个特殊的方案的请求,例如“hideKeyboard”,我会实现uiwebviewdelegate并测试该方案,以便在我对其进行包装时隐藏键盘,这里是一个例子:
- (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];
}
}