2013-11-12 3 views
0

У меня есть представление с несколькими текстовыми полями в нем. Я представляю это представление с помощью UIPopoverController.Клавиатура не отображается для UITextField в UIPopover

Попкор работает отлично. Но когда я нажимаю на текстовое поле, клавиатура не появляется. Я программно устанавливаю один для текстовых полей как firstResponder, и он отлично работает. Но я хочу, чтобы пользователь мог использовать любое текстовое поле и вводить информацию по своему усмотрению.

Моего кода для запуска контроллера поповера является:

UIStoryboard *storyBoard = [self storyboard]; 
GeneralPickerViewController *picker = [storyBoard instantiateViewControllerWithIdentifier:@"GeneralPicker"]; 
[picker setDelegate:self]; 
[picker setPickerMode:@"NewParty"]; 
_popover = [[UIPopoverController alloc] initWithContentViewController:picker]; 
[_popover setDelegate:self]; 
[_popover setPopoverContentSize:CGSizeMake(286, 268)]; 
[_popover presentPopoverFromBarButtonItem:_createNewEntityButton permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES]; 

Я поставил делегат текстового поля для класса GeneralPickerViewController как текстовые поля зрения на GeneralPickerVC в.

Пожалуйста, дайте мне знать, почему это должно произойти.

ответ

1

Предполагая, что текстовые поля включены и доступны для редактирования ...

поведение по умолчанию в UITextField должен стать первым ответчиком, когда он постучал. Для достижения этого не требуются методы делегата. Также не имеет значения, представлено ли представление в UIPopoverController или нет. Так что в принципе желаемое поведение (как описано в вопросе) должно быть по умолчанию.

Я видел такую ​​проблему раньше, вызванную рамками textview, где (частично) вне рамок супервизора (и, следовательно, область вне представления не реагировала на касания). Это может быть вызвано недопустимой маской autoresizing (или ограничением). Представление будет изменено при представлении в контроллере popover.

+1

Должно быть из-за проблемы, о которой вы упомянули. Я включил автомасштабирование, и теперь все работает нормально. –

Смежные вопросы