【问题标题】:Programmatically launch UIWebView Keyboard以编程方式启动 UIWebView 键盘
【发布时间】:2012-06-26 18:04:58
【问题描述】:

这里是Javascript n00b,这个问题之前有人问过,但没有给出直接的答案。

我正在尝试在视图加载时为可编辑的 UIWebView 启动键盘。

到目前为止,我有以下代码

在 index.html 中:

    <html>
    <head>
         <script Language="text/javascript">
         function showKeyBoard(){
            document.forms['myform'].elements['mytextfield'].focus();
         }
    </script> 
    </head>

    <body OnLoad="document.myform.mytextfield.focus();">
        <form name="myform">
           <textarea type="text" name="mytextfield" cols="40">Tap here to enter text</textarea>
        </form>
    </body>    
    </html>

在我的视图控制器中,我有:

    -(void)viewDidLoad
    {
       [super viewDidLoad];
       [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]isDirectory:NO]]];
    }

同样的视图控制器也是 webView 的委托,代码如下:

      -(void)webViewDidFinishLoad:(UIWebView *)aWebView 
      {
           [aWebView stringByEvaluatingJavaScriptFromString:@"showKeyBoard()"];
      }

我的 java 脚本或 iOS 有什么问题吗?

textarea 对于应用程序来说不是必需的,我只包含它以具有可聚焦的表单元素。

我愿意接受任何可以在视图加载时启动 UIWebView 键盘的解决方案。几个星期以来,我一直在努力寻找解决方案,但没有得到任何结果。

编辑:当我使用网络浏览器打开 index.html 时,焦点有效。

【问题讨论】:

    标签: javascript objective-c ios uiwebview ios5.1


    【解决方案1】:

    从 iOS 6 开始,您可以设置 [aWebView setKeyboardDisplayRequiresUserAction:NO]。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-04
      • 2012-07-11
      • 2020-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-11
      相关资源
      最近更新 更多