TextField НЕ подаст в отставку первого респондента с представлением UIModalPresentationFormSheet - PullRequest
0 голосов
/ 01 ноября 2011

Я создал кнопку на одном viewController, который загружает другое представление модально, используя стиль представления UIModalPresentationFormSheet.В этом загруженном представлении у меня есть два textFields, и я заставляю первый textField быть первым респондентом, чтобы клавиатура немедленно появлялась в новом представлении.Я настроил textFields, чтобы иметь метод действия, который подключен к событию «Закончено ли при выходе».Однако всякий раз, когда я нажимаю клавишу «return» на клавиатуре для любого textField, клавиатура не исчезает (вот мой код):

// addCustomPage method that is called when button from original view is touched
- (IBAction) addCustomPage:(id)sender
{
    NSLog(@"Adding Custom Page");
    if (!self.customPageViewController)
    {
        self.customPageViewController =
        [[CustomPageViewController alloc] initWithNibName:@"CustomPageViewController" bundle: nil];

    }
    customPageViewController.modalPresentationStyle = UIModalPresentationFormSheet;
    [self presentModalViewController:customPageViewController animated:YES];
    // force keyboard to appear with loaded page on the first textField
    [customPageViewController.firstTextField becomeFirstResponder];

}

@interface CustomPageViewController : UIViewController

@property (strong, nonatomic) IBOutlet UITextField *firstTextField;
@property (strong, nonatomic) IBOutlet UITextField *secondTextField;
 - (IBAction)keyboardEndOnExit:(id)sender; // DID END ON EXIT EVENT
@end

//in CustomPageViewController.m
-(IBAction)keyboardEndOnExit:(id)sender
{
    [sender resignFirstResponder];
}

Это довольно прямая проблема, и у меня нет проблемобычно отклоняя клавиатуры, используя эту технику с основными представлениями и textFields.Я не уверен, что использование представления в этом формате презентации или настройки делает вещи по-другому.Спасибо!

Ответы [ 2 ]

0 голосов
/ 10 января 2013

Посмотрите на этот вопрос . Уверен, что это та же проблема, вызванная UIModalPresentationFormSheet.

0 голосов
/ 01 ноября 2011

Вы подтвердили, что ваш метод keyboardEndOnExit действительно вызывается?

Вы также можете использовать более прямой подход, вызвав [yourTextView resignFirstResponder], когда пользователь выполняет определенное действие, например нажатие клавиши и т. Д. Я все равно проверю, вызывается ли этот метод когда-либо с использованием точек останова или журнала. .

...