2012-06-26 8 views
2

여기에서 Javascript n00b를 입력하십시오.이 질문은 이전에 묻지 만 직접적인 대답은 없습니다.프로그래밍 방식으로 UIWebView 키보드를 실행하십시오.

보기가로드 될 때 편집 가능한 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]]]; 
    } 

같은 뷰 컨트롤러는 또한 웹보기의 대표입니다 다음 코드를 사용하십시오 :

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

내 Java 스크립트 또는 iOS에 문제가 있습니까?

텍스트 영역은 앱에 필요하지 않습니다. 포커스 가능 양식 요소 만 포함 시켰습니다.

보기가로드 될 때 UIWebView 키보드가 실행되도록하는 모든 솔루션에 열려 있습니다. 나는 몇 주 동안 해결책을 찾기 위해 노력해 왔으며 나는 어디에도 가지 않았다.

편집 : 웹 브라우저에서 index.html을 열 때 포커스가 작동합니다.

답변

5

iOS 6부터 [aWebView setKeyboardDisplayRequiresUserAction : NO]를 설정할 수 있습니다.

관련 문제