2012-03-23 10 views

Respuesta

1

UIwebview no se puede editar y no se puede convertir en el primero en responder. Cuando, como se puede utilizar Javascript para tal fin, probar esta respuesta

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

+0

Gracias, ya he configurado el contenido html en editable usando javascript. Pero no puedo dejar que UIWebView se concentre. Y el enlace que proporciona no tiene respuesta sobre convertirse en el primer usuario en UIWebView. ¿Puede darme algún código de muestra sobre esto? – 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

le basta con exponer casilla de verificación "visible en el lanzamiento" en la que objeto de la ventana - teclado mostrará de forma automática en el campo de entrada

8

Esto es ahora es posible en iOS 6. Consulte el boolean keyboardDisplayRequiresUserAction en UIWebView. Una vez que establezca NO, puede usar focus() para establecer el cursor.

+0

Esto lo enfoca, pero no saca el teclado. – scord

+0

Al establecer esto en NO, es posible establecer el cursor y hacer que aparezca el cursor en Javascript. Puede establecer .focus() en el elemento y aparecerá el teclado. Sin embargo, no existe una opción similar para WkWebView. – eliajf

2

En iOS 6> necesita 1) configurar su vista web para keyboardDisplayRequiresUserAction = NO, y 2) call focus. Aquí está el código:.

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

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

Puede utilizar document.getElementById ('someId') enfocar() como una alternativa. Establecí textField como delegado y usé el método de delegado textFieldShouldReturn que se activa cuando se presiona la tecla de retorno.

Cuestiones relacionadas