2014-11-21 4 views
0

У меня есть VC, у которого есть inputAccessoryView, который используется для отображения текстового поля (подобно приложению сообщений). Когда я нажимаю этот вид на стек навигации, все работает отлично, и я имею в виду, что tableview настраивает свои вставки, чтобы убедиться, что над этим аксессуаром ничего не прокручивается. Однако, если с этой точки зрения я нажимаю другой экземпляр того же класса контроллера вида, вставки не будут скорректированы, и прокрутка таблицы будет за дополнительным видом.ViewController canBecomeFirstResponder iOS 8

Эта проблема видна только в iOS 8. Другая интересная вещь в этом состоит в том, что если вы затем щелкните в окне аксессуаров, чтобы открыть клавиатуру, вставки правильно настроены для видимости клавиатуры и снова, когда она скрыта.

Также, если вы не нажмете текстовое поле, чтобы исправить проблему и нанести ответный удар, предыдущий VC также сломался.

Я достаточно уверен, основываясь на информации выше, что это ошибка iOS 8. Я надеюсь, что кто-то это увидит и придумает полуразумное решение.

ответ

0

Настя решения, но решение, тем не менее:

- (void)viewDidAppear:(BOOL)animated 
{ 
    [super viewDidAppear:animated]; 

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.01 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ 
     [self.inputAccessoryView.inputAccessoryTextField becomeFirstResponder]; 
     [self.inputAccessoryView.inputAccessoryTextField resignFirstResponder]; 
    }); 
} 

Это позволяет виду перерисовки врезки

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