2012-03-23 10 views

답변

1

UIwebview는 편집 할 수 없으며 첫 번째 응답자로 설정할 수 없습니다. 당신이 그 목적을 위해 자바 스크립트를 사용할 수 경우,

UIWebView with contentEditable (html editing), first responder handling?

+0

고맙습니다. 이미 HTML 콘텐츠를 자바 스크립트를 사용하여 편집 가능하도록 설정했습니다. 하지만 UIWebView에 초점을 맞출 수는 없습니다. 그리고 당신이 제공하는 링크는 UIWebView에서 첫 번째 응답자가되는 것에 대한 대답이 없습니다. 이에 대한 샘플 코드를 제공 할 수 있습니까? – tangqiaoboy

+0

jScriptString = [NSString stringWithFormat : @ "var field = document.activeElement;" "field.value = '% @';", symbol.data]; [myWebView stringByEvaluatingJavaScriptFromString : jScriptString]; jScriptString = [NSString stringWithFormat : @ "document.activeElement.form.submit();"]; [myWebView stringByEvaluatingJavaScriptFromString : jScriptString]; –

1

는 window 객체에 "눈에 보이는 시작에서"체크 박스를 설정할 필요는이 대답을 시도 - 키보드 이것은

8

입력 필드에보기 자동 표시됩니다 이제 iOS 6에서 가능합니다. UIWebView에서 boolean keyboardDisplayRequiresUserAction을 참조하십시오. NO로 설정되면 focus()를 사용하여 커서를 설정할 수 있습니다.

+0

이것은 초점을 맞추지 만 실제로 키보드를 가져 오지 않습니다. – scord

+0

이것을 NO로 설정하면 커서를 설정하고 Javascript에서 커서를 불러올 수 있습니다. 요소에 .focus()를 설정할 수 있으며 키보드가 나타납니다. 그러나 WkWebView와 같은 유사한 옵션은 존재하지 않습니다. – eliajf

2

iOS 6> 1) 웹 뷰를 keyboardDisplayRequiresUserAction = NO로 설정하고 2) 포커스를 호출해야합니다. 여기에 코드입니다 :.

self.webView.keyboardDisplayRequiresUserAction = NO; // put in viewDidLoad 

- (BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
     [self.webView 
     stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].focus()"]; 
    return YES; 
} 

당신은 document.getElementById를 ('someId')를 사용할 수있는 대안으로() 초점을 맞 춥니 다. textField를 대리자로 설정하고 반환 키를 누를 때 발생하는 대리자 메서드 인 textFieldShouldReturn을 사용했습니다.

관련 문제