2012-05-03 3 views
1

Я работаю над iPad-приложением. В одном представлении мы имеем 10 текстовых полей. когда я вижу их в iPad, текстовые поля внизу скрываются за клавиатурой.Прокрутить вверх, пока клавиатура скрывается UiTextField

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

Любая помощь высоко ценится

Спасибо adavance.

ответ

0

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

С наилучшими пожеланиями Бернхард

+0

Спасибо за ответ Harrer. мы можем сделать прокрутки для iPhone, но не на IPad ... вы можете разместить пример кода для прокрутки UiTextFeilds. – rajesh

+0

W Вы имеете в виду «прокрутку UITextField»? Вы можете переместить TextField, установив его фрейм. –

3

Используйте UIScrollView и поместить элементы управления пользовательского интерфейса в Scrollview. В viewDidLoad сохраняются смещения содержимого прокрутки. (В коде ниже scrollOffset имеет тип CGPoint.

scrollOffset = scrollView.contentOffset; 

В делегат UITextField установить новое содержание смещения для просмотра прокрутки.

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

    CGPoint scrollPoint; 
    CGRect inputFieldBounds = [textField bounds]; 
    inputFieldBounds = [textField convertRect:inputFieldBounds toView:scrollView]; 
    scrollPoint = inputFieldBounds.origin; 
    scrollPoint.x = 0; 
    scrollPoint.y -= 90; // you can customize this value 
    [scrollView setContentOffset:scrollPoint animated:YES];    
} 

В textfiedlshouldreturn делегата, сбросить содержание смещение Scrollview .

- (BOOL) textFieldShouldReturn:(UITextField *)textField { 
    [scrollView setContentOffset:scrollOffset animated:YES]; 
    [textField resignFirstResponder]; 
    return YES; 
} 
Смежные вопросы