2012-06-26 5 views
2

Javascript n00b здесь, этот вопрос задан раньше, но прямой ответ не был дан.Программный запуск UIWebView Keyboard

Я пытаюсь запустить клавиатуру для редактируемого 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?

Текстовое приложение не обязательно для приложения, которое я включил в него, чтобы иметь элемент формы с фокусировкой.

Я открыт для любого решения, которое заставит клавиатуру UIWebView запускаться при загрузке представления. Я пытаюсь выработать решение в течение нескольких недель, и я не знаю, где.

Редактировать: Фокус работает, когда я открываю index.html с помощью веб-браузера.

ответ

5

Начиная с iOS 6, вы можете установить [aWebView setKeyboardDisplayRequiresUserAction: NO].