Mantener un keyboard de hardware (bluetooth) al replace un inputView en iOS 8

Tengo un UITextField que utiliza un UIPickerView personalizado en su inputView para restringir al usuario a algunas opciones, funcionando de manera análoga a una list desplegable. Cuando se usa con un keyboard de hardware conectado a través de bluetooth, el keyboard de hardware anula (y oculta) mi inputView . Sin embargo, el inputAccessoryView asociado permanece. Cuando presiono el button "keyboard" en mi keyboard de hardware (que normalmente muestra el keyboard en pantalla pnetworkingeterminado para un vainilla UITextField ), todo funciona como se esperaba. (Por lo que quiero decir que mi inputView es visible nuevamente). En la versión anterior de iOS (es decir, 7 y más abajo), el inputView siempre estaba visible cuando se llamaba.

He resuelto temporalmente el problema estableciendo el UITextField de UIKeyboardType desde UIKeyboardTypeDefault a UIKeyboardTypeTwitter , pero esto solo funcionará mientras el keyboard de hardware no se reconoce como pnetworkingeterminado para ese UIKeyboardType particular. El código es pickerTextField.keyboardType = UIKeyboardTypeTwitter; (Vea aproximadamente 2/3 de la forma en el código a continuación.) Después de más testings, esta solución parcial no es tan útil como parece.

¿Cómo puedo mostrar correctamente mi inputView en todas las situaciones mientras uso un keyboard de hardware?

Fragmento de código relevante:

 -(int)setUpPickerWheelAtXLoc:(int)xLoc andYLoc:(int)yLoc { int qwidth = width - (xLoc - FORMBORDERLEFT); // Set up inputView (pickerView) to replace the keyboard self.pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(xLoc, yLoc, qwidth, height)]; self.pickerView.delegate = self; self.pickerView.dataSource = self; self.pickerTextField = [[UITextField alloc] initWithFrame:CGRectMake(xLoc, yLoc, qwidth, 32)]; self.pickerTextField.delegate = self; pickerTextField.borderStyle = UITextBorderStyleRoundedRect; pickerTextField.layer.borderWidth = 0.3f; pickerTextField.layer.borderColor = [[UIColor blackColor] CGColor]; pickerTextField.textColor = [UIColor blackColor]; pickerTextField.font = [UIFont systemFontOfSize:XXLARGEFONTSIZE]; pickerTextField.placeholder = @"Tap to choose from list..."; // Add pickerView as inputView pickerTextField.inputView = self.pickerView; pickerTextField.keyboardType = UIKeyboardTypeTwitter; // Suggested temporary solution // Setup inputAccessoryView (Done button) UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; [doneButton addTarget:self action:@selector(pickerDoneButtonPressed) forControlEvents:UIControlEventTouchUpInside]; [doneButton setTitle:@"Done" forState:UIControlStateNormal]; doneButton.titleLabel.font = [UIFont systemFontOfSize:XXLARGEFONTSIZE]; doneButton.frame = CGRectMake(0,0,100,44); [doneButton setContentHorizontalAlignment:UIControlContentHorizontalAlignmentRight]; doneButton.contentEdgeInsets = UIEdgeInsetsMake(0,0,0,20); doneButton.backgroundColor = [UIColor lightGrayColor]; pickerTextField.inputAccessoryView = doneButton; return xLoc + qwidth; } 

Información adicional : Después de verificar algunos otros lugares, he confirmado que esto también está sucediendo en al less un producto Apple. (En la página / página "Crear nueva ID de Apple" en un iPhone 6 en 8.0.2. Consulte las observaciones de selección de date de nacimiento para Mes y Día).

El problema fue solucionado por Apple en la actualización de iOS 8.1.