ios - 当聚焦于第二次加载的文本字段时,UIWebView 不显示键盘

标签 ios uiwebview keyboard nsurlrequest

我在 UIWebView 方面遇到了一个非常奇怪的问题。

我用它来让用户登录多个服务, 我打开 UIWebView,显示一个 HTML 登录页面,然后按其中一个文本字段打开键盘,正如它应该的那样。

enter image description here

之后,如果我尝试在其中加载不同的登录屏幕,则由于某种原因按下输入不会显示键盘。

enter image description here

你们中有人遇到过这个奇怪的错误吗?我尝试检查 [self.window makeKeyAndVisible]; 就像我看到一些推荐一样,但不幸的是它没有解决问题:(

这就是我加载 UIWebView 的方式:

[webAuth stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML = \"\";"];
[webAuth loadRequest: [NSURLRequest requestWithURL:  [NSURL urlWithString:@"http://whatever"] ]];

第一行用于清除页面(尝试删除它,它不能解决键盘问题)

最佳答案

如果我错过了什么,我真的很抱歉,但我无法重现您的错误。您能否更详细地指定您的设置? (我宁愿添加这篇文章作为评论,但还没有声誉,抱歉 -.- 请随时将此答案更改为评论)

我做什么:

  1. 我使用 iOS SDK 5.0,并在 iOS5.0 模拟器和装有 iOS5.0 的 iPhone4 上进行了尝试
  2. 我创建了一个简单的基于 View 的应用程序,并将按钮和 Web View 拖入 nib 文件中
  3. 我调用了viewDidLoad中的第一个网站,这是Facebook登录

    - (void)viewDidLoad {
      [super viewDidLoad];
      [self.webAuth stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML = \"\";"];
      [self.webAuth loadRequest: [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://facebook.com"]]];
    }
    
  4. 我使用上述按钮调用第二个网站,Twitter 登录

    - (IBAction)showWebsite:(UIButton *)sender {
        [self.webAuth stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML = \"\";"];
        [self.webAuth loadRequest: [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://twitter.com/#!/login"]]];
    }
    
  5. 我登录 Facebook,然后按按钮,然后点击任意 Twitter 登录输入字段

  6. 一切(包括键盘)都按预期工作

关于ios - 当聚焦于第二次加载的文本字段时,UIWebView 不显示键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9340959/

相关文章:

ios - 可以在客户端设备上建立没有证书的 https 连接吗?

javascript - 在 iOS 中更改 JavaScript 警报对话框标题

ios - 从外部完成 block 检索变量 Parse Swift

react-native - 如何使用 react native Keyboard.scheduleLayoutAnimation(event) 方法?

ios - 使用泛型将两个泛型数组放入一个 Swift 字典中

iphone - 将 UIWebView 适配到 UITableViewCell

ios - 如何在 Document 目录中使用 UIWebview 打开和查看 iphone 中的 .doc、.docx、.rtf、.ppt、.pptx、.xlsx、.xls 文件?

iphone - 使用 cocos2d 显示网站

xcode - 如何进行击键以删除 Xcode 中的连续空格?

python - 使用 Python 键盘解锁 Windows