OGeek|极客世界-中国程序员成长平台

标题: ios - UIWebView 在第二次加载时关注文本字段时不显示键盘 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 11:43
标题: ios - UIWebView 在第二次加载时关注文本字段时不显示键盘

我的 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"] ]];

第一行是清除页面(尝试删除它,它没有解决键盘问题)



Best Answer-推荐答案


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

我做什么:

  1. 我使用 iOS SDK 5.0 并在 iOS5.0 模拟器和带有 iOS5.0 的 iPhone4 上进行了尝试
  2. 我创建了一个简单的基于 View 的应用,并将一个按钮和一个 webview 拖入到 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)showWebsiteUIButton *)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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4