Клавиатура в виде текстовых полей, как переместить вид вверх - PullRequest
3 голосов
/ 11 января 2011

Я использую шаблон Xcode SplitView.

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

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

Ответы [ 2 ]

3 голосов
/ 11 января 2011

Я использовал это решение из всегда полезных Какао с любовью , когда я не мог использовать UIScrollView.

Если вы хотите добавить UIScrollView в вашу иерархию, это становится еще проще,Просто вставьте UIScrollview в иерархию над текстовыми полями и используйте этот код, когда пользователь касается текстового элемента, чтобы начать редактирование:

UIScrollView* v = (UIScrollView*) self.view ;
CGRect rc = [textField bounds];
    rc = [textField convertRect:rc toView:v];
rc.origin.x = 0 ;
rc.origin.y -= 60 ;

rc.size.height = 400;

[self.scroll scrollRectToVisible:rc animated:YES];

Удачи!

1 голос
/ 11 января 2011

Однажды у меня была эта проблема. Мое приложение использовало табличное представление для показа полей, поэтому я пришел к решению, что прослушать textViewDidBeginEditing для выполнения scrollToRowAtIndexPath для табличного представления:

- (void)textViewDidBeginEditing:(UITextView *)textView{
    UITableViewCell *cell = (UITableViewCell*) [[textView superview] superview];    
    [self.myTableView scrollToRowAtIndexPath:[self.myTableView indexPathForCell:cell] atScrollPosition:UITableViewScrollPositionMiddle animated:YES];
}

Если у вас нет табличного представления, но есть представление с прокруткой, я думаю, что вы могли бы использовать такой же подход, но указав представление с прокруткой, чтобы перейти к нужному разделу, как сказал @MystikSpiral.

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