Deshabilite el teclado Quicktype de iOS8 mediante programación en UITextView
objective-c xcode (5)
En Swift 2:
myUITextField.autocorrectionType = UITextAutocorrectionType.No
Estoy tratando de actualizar una aplicación para iOS8, que tiene una interfaz de chat, pero el nuevo teclado Quicktype oculta la vista de texto, por lo que me gustaría desactivarla mediante programación o en el generador de interfaces.
¿Es posible de alguna manera o solo los usuarios pueden desactivarlo en la configuración del dispositivo?
Sé que hay una pregunta / respuesta que resuelve este problema con un
UITextfield
, pero necesito hacerlo con un
UITextView
.
En Swift 4.x:
myUTTextField.autocorrectionType = .no
He creado una clase de categoría UITextView con el siguiente método:
- (void)disableQuickTypeBar:(BOOL)disable
{
self.autocorrectionType = disable ? UITextAutocorrectionTypeNo : UITextAutocorrectionTypeDefault;
if (self.isFirstResponder) {
[self resignFirstResponder];
[self becomeFirstResponder];
}
}
Desearía que hubiera un enfoque más limpio.
Además, supone que el modo de corrección automática era
Default
, lo que puede no ser siempre cierto para cada vista de texto.
Para completar, me gustaría agregar que también puede hacer esto en el
Interface Builder
.
Para deshabilitar las Sugerencias de teclado en
UITextField
o
UITextView
, en el
Attributes Inspector
establezca
Correction
en
No
Puede deshabilitar las sugerencias de teclado / autocompletar / QuickType para un UITextView que puede bloquear el texto en pantallas más pequeñas como el 4S como se muestra en este ejemplo
con la siguiente línea:
myTextView.autocorrectionType = UITextAutocorrectionTypeNo;
Y además, si desea hacer esto solo en una pantalla específica, como apuntar al 4S
if([[UIDevice currentDevice]userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
CGFloat screenHeight = [UIScreen mainScreen].bounds.size.height;
if (screenHeight == 568) {
// iphone 5 screen
}
else if (screenHeight < 568) {
// smaller than iphone 5 screen thus 4s
}
}