UIToolbar в верхней части клавиатуры: сменить рамку? - PullRequest
1 голос
/ 06 июля 2011

У меня UIToolbar установлено на inputAccessoryView из UITextView. Это показывает панель инструментов в верхней части клавиатуры, при редактировании. Однако я столкнулся с проблемой при повороте устройства: панель инструментов должна стать немного меньше по высоте (32 пикселя против 44). Когда я просто обновляю высоту панели инструментов, я получаю немного пустого пространства между панелью инструментов и клавиатурой:

изображение http://i54.tinypic.com/1z6bhut.png

Итак, я использовал -didRotateFromInterfaceOrientation:, чтобы также обновить источник, а затем он работает при повороте из портретного в ландшафтный режим. Однако при повороте вверх панель инструментов становится слишком маленькой на 12 пикселей и перекрывает клавиатуру:

изображение http://i56.tinypic.com/2eey2cl.png

К тому времени начало координат снова равно (0,0), и установка отрицательного значения не помогла. Любые предложения о том, как заставить это работать так, чтобы панель инструментов изменила свой размер и никогда не перекрывалась?

Ответы [ 2 ]

1 голос
/ 09 июля 2011

Я исправил это, вызвав [textView resignFirstResponder] в -willRotateToInterfaceOrientation:duration: и [textView becomeFirstResponder] в -didRotateFromInterfaceOrientation:.Похоже, система корректирует кадр.

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
    didShowKeyboard = [self.textView isFirstResponder];

    [self.textView resignFirstResponder];
}

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
    CGRect toolbarFrame = [self.navigationController.toolbar bounds];
    self.keyboardToolbar.frame = toolbarFrame;

    if (didShowKeyboard)
        [self.textView becomeFirstResponder];
}
0 голосов
/ 06 июля 2011

Вместо расчета происхождения и размеров вы можете использовать Авторазмер для рендеринга элементов управления во время вращения.

См. Этот урок http://www.bogotobogo.com/XcodeSDK-Chapter4.html

Я думаю, что это может дать вам подсказку.

...