UIScrollView проблема прокрутки - PullRequest
1 голос
/ 16 июня 2010

У меня есть UIScrollView и в нижней части экрана находится текстовое поле.Когда я выбираю текстовое поле, клавиатура отображается над текстовым полем.UIView в UIScrollView не достаточно велик, чтобы прокрутить вверх и освободить место для клавиатуры.Поэтому я попытался расширить UIView программно.Вот что у меня есть:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {


UIScrollView *scrollView = (UIScrollView *)[[self view] viewWithTag: 2];
UIView *contentview = [[self view] viewWithTag: 3];

CGRect rect = contentview.frame;

rect.size.height = 650;
contentview.frame = rect;

[scrollView setContentSize: contentview.frame.size];

//first try
rect.origin.y = 450;
[scrollView scrollRectToVisible: rect animated: YES]; 

//second try
CGPoint point = CGPointMake(0, 450);
[scrollView setContentOffset: point animated: YES];

return YES;
}

спасибо.

1 Ответ

3 голосов
/ 16 июня 2010

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

CGRect frame = self.view.frame;
frame.origin.y -= keyboard.size.height;
self.view.frame = frame;

Сделайте обратное для UIKeyboardWillHideNotification.

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