2

Javascript n00b here,这个问题之前已经被问过,但没有给出直接的答案。

我试图在视图加载时为可编辑的 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 时,焦点有效。

4

1 回答 1

5

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

于 2013-03-21T09:57:59.237 回答