В моем IPad приложения, я хочу представить контроллер, используя стиль формы листа, какПолучить событие для внешнего/виртуальной клавиатуры в то время как TextField стать первым ответчиком
controller.modalPresentationStyle=UIModalPresentationFormSheet;
В ландшафтном режиме в то время как размер клавиатуры открыта настройка им устройства из Tableview так этот пользователь может видеть все записи таблицы.
Чтобы получить информацию о шоу/скрыть клавиатуру. Я поставил NSNotification
Проблема
Но когда пользователь крана в TextField из ячейки таблицы с помощью внешнего/виртуальной клавиатуры, я не получаю событие клавиатуры показать/скрыть. Итак, когда текстовое поле становится первым ответчиком, размер Tableview уменьшается, но это не нужно, когда пользователь подключается к внешней клавиатуре.
Может ли кто-нибудь, пожалуйста, помочь/помочь здесь, что я могу сделать? Чтобы я мог остановиться, установите размер при использовании внешней клавиатуры.
Регистрация Клавиатура Событие
- (void)registerForKeyboardNotifications{
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWasShown:)
name:UIKeyboardDidShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWasHidden:)
name:UIKeyboardDidHideNotification object:nil];
}
Набор кадров Во время AutoRotate и Text Field Стать Плавников
-(void)setFramesOfTable
{
CGRect rct=tableView.frame;
if(appDel.isThisIPad && ([[UIApplication sharedApplication] statusBarOrientation]==UIInterfaceOrientationLandscapeLeft || [[UIApplication sharedApplication] statusBarOrientation]==UIInterfaceOrientationLandscapeRight) && [selectedField isFirstResponder])
{
rct.size.height=400.0;
}
else
{
rct.size.height=576.0;
}
tableView.frame=rct;
}
- (void)textFieldDidBeginEditing:(UITextField *)textField{
selectedField = textField;
[self setFramesOfTable];
}
-(NSUInteger)supportedInterfaceOrientations
{
[self setFramesOfTable];
return UIInterfaceOrientationMaskAll;
}
Спасибо.
Код PLS? ..... – IronManGill
@IronManGill только что отредактировал код, но я думаю, что существующий код не поможет, так как только клавиатурное событие может решить проблему. Но не работает при использовании внешней клавиатуры. – Nikunj