Поднять вид, когда клавиатура видна в альбомной ориентации - PullRequest
0 голосов
/ 03 марта 2011

У меня проблема с поворотом ландшафта в моем приложении. Все перемещается туда, куда я хочу, и т.д., но когда клавиатура видна, одно из текстовых полей закрывается. Я написал некоторый код, который выдвигает представление, чтобы решить это. Этот фрагмент кода прекрасно работает в портретной ориентации, но в альбомной ориентации вид поворачивается обратно в портретную. Код ниже:


- (void)textFieldDidBeginEditing: (UITextField *)textField {

    CGAffineTransform translation = CGAffineTransformIdentity;
    if (textField == self.incVATField)
        translation = CGAffineTransformMakeTranslation(0, -30);

    [UIView beginAnimations:nil context:nil];
    self.view.transform = translation;
    [UIView commitAnimations];

}

Может кто-нибудь сказать мне, как решить эту проблему, чтобы, когда устройство в lanscape, представление просто слегка выдвигалось, так что я все еще мог видеть текстовое поле?

Спасибо

1 Ответ

1 голос
/ 03 марта 2011

Когда начинается редактирование текстового поля, просто отрегулируйте рамку вида так, чтобы вы могли видеть текст.

- (void)textFieldDidBeginEditing: (UITextField *)textField {
self.view.frame = CGRectMake(x_origin,y_origin,width,height);
}

Другая опция:

Вы также можете сделать это, сделав свой вид вложенным представлением прокрутки и изменив смещение содержимого на требуемую точку, чтобы текстовое поле было видимым.

...