Как двигаться вверх от клавиатуры при выборе текстовых полей в представлении табуляции как в книжной, так и в альбомной ориентации? - PullRequest
0 голосов
/ 06 февраля 2010

У меня есть 8 текстовых полей в табличном представлении. Мне нужно ввести данные в эти текстовые поля в портретном и альбомном режимах. некоторые текстовые поля находятся на обратной стороне клавиатуры. Я не могу ввести данные в эти текстовые поля.

Я сделал в портретном режиме с помощью уведомления willShowKeyBoard и работает нормально. Но, то же самое я применил к ландшафтному режиму, но он не работает нормально. Как переместить табличное представление вверх для ввода данных в текстовые поля?

  • (void) клавиатураWillShow: (NSNotification *) уведомление {

    if ([NameField isFirstResponder] && myView.frame.origin.y >= 0)
    {       
    
    }
    else if([credentialField isFirstResponder] && myView.frame.origin.y >=0)
    {
    
    }
    else if([specialityField isFirstResponder] && myView.frame.origin.y >=0)
    {
    
    }
    else if([streetField isFirstResponder] && myView.frame.origin.y >=0)
    {
        [self setViewMovedUp:YES];
    }
    else if([cityField isFirstResponder] && myView.frame.origin.y >=0)
    {
        [self setViewMovedUp:YES];
    }
    else if([stateField isFirstResponder] && myView.frame.origin.y >=0)
    {
        [self setViewMovedUp:YES];
    }
    else if([zipcodeField isFirstResponder] && myView.frame.origin.y >=0)
    {
        [self setViewMovedUp:YES];
    }
    

}

- (Недействительными) setViewMovedUp: (BOOL) movedUp { [UIView beginAnimations: nil context: NULL]; [UIView setAnimationDuration: 0,5]; // если вы хотите увеличить вид CGRect rect = myView.frame; если (MoveUp) {
rect.origin.y = rect.origin.y - kOFFSET_FOR_KEYBOARD1; rect.size.height = rect.size.height + kOFFSET_FOR_KEYBOARD1; } еще { rect.origin.y = rect.origin.y + kOFFSET_FOR_KEYBOARD1; rect.size.height = rect.size.height - kOFFSET_FOR_KEYBOARD1; }

myView.frame=rect;
[UIView commitAnimations];

}

Ответы [ 2 ]

0 голосов
/ 06 февраля 2010

Для этого следует использовать UIScrollView, затем вы можете перемещать контент вверх / вниз.

0 голосов
/ 06 февраля 2010

Я не знаю, используете ли вы это уже, но посмотрите здесь: http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/TextandWeb/TextandWeb.html#//apple_ref/doc/uid/TP40007072-CH20-SW7

Объясняется, как это работает, и все хорошо. Он также должен работать в режиме Lanscape, потому что он смотрит, сколько пикселей имеет клавиатура, и перемещает контент вверх.

С уважением, Тим

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...