Как заставить текстовое поле двигаться вверх, когда клавиатура его закрывает - PullRequest
0 голосов
/ 05 мая 2011

У меня есть приложение, в котором у меня есть 2 текстовых поля и текстовое представление.Когда я щелкаю по первому текстовому полю, у меня всплывающее окно с клавиатурой, и у них не возникает проблем, но когда я набираю второе текстовое поле, всплывающее окно с клавиатурой закрывает текстовое поле.

Я хочу, чтобы при нажатии на второе текстовое полетекстовое поле должно немного сдвинуться вверх, чтобы я мог набирать текст и иметь текстовое представление.Но я написал код для textview, чтобы при вводе textview он автоматически перемещался.

Проблема с текстовым полем.Как я могу решить эту проблему?

Ответы [ 6 ]

3 голосов
/ 05 мая 2011

Рассмотрите возможность использования UITableViewController .В противном случае реализуйте UITextFieldDelegate и переместите ваш UIView в нужную позицию в методе - (void)textFieldDidBeginEditing:(UITextField *)textField.

1 голос
/ 05 мая 2011

Проверьте ссылку ниже - решение написано Майкл Тайсон.Он адресован UITableView и UIScrollView, может быть легко изменен и работает как вставной компонент.Я использую его, и он работает хорошо.

Универсальное решение для перемещения текстовых полей с клавиатуры

0 голосов
/ 02 октября 2015

Я создал простой подкласс UIView, содержащий UITextView и кнопку отправки, которая перемещается вверх, когда клавиатура отображается, и опускается, когда клавиатура скрывается. В дополнение к этому UITextView изменяет размер в соответствии с количеством текста в нем.

Посмотрите здесь:

https://github.com/kerrygrover/KBTextView

enter image description here

0 голосов
/ 06 января 2013

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

0 голосов
/ 05 мая 2011

Добавить представление к UIScrollView. Затем используйте методы UITextFieldDelegate, чтобы установить contentOffset для scrollView при нажатии textField. Сбросьте contentOffset, когда пользователь закончит ввод текста.

0 голосов
/ 05 мая 2011

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

Первый метод:

    [UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:.3];

self.view.transform = CGAffineTransformTranslate(self.view.transform, 0, -175);
[UIView commitAnimations];

Второй метод:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:.3];

self.view.transform = CGAffineTransformTranslate(self.view.transform, 0, 175);
[UIView commitAnimations];

[self.destext resignFirstResponder];

Вызовите эти методы для textfieldEditingDidbegin и DidEndonExit

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