2016-01-20 3 views
-1

Аналогично этому сайту «Move From UITextField to UITextView When Return Pressed» мой курсор появляется на одной строке ниже намеченной строки. Я попытался использовать эту ссылку в качестве ссылки, но, похоже, не было окончательного ответа, который я мог бы использовать.UITextfield для UITextView - появляется пустая строка пространства

Я также попытался

[self.memoTextView performSelector:@selector(becomeFirstResponder) withObject:nil afterDelay:0.0]; 

но удачливый это работать на моем тренажере, но не мое устройство.

+0

Вы пробовали задержка 0,1, а не 0,0? Когда симулятор ведет себя иначе, чем устройство, это может быть проблема синхронизации. –

+0

Он работает! Почему это, если его нетрудно объяснить? Как задержка влияет на межстрочный интервал? – Rach

+0

После того, как вы запустите некоторый код, чтобы перемещать вещи на экране, обновления не попадают на экран мгновенно. Существует несколько разных проходов, которые ОС должна выполнять для расчетов, обновления графического процессора и т. Д. (Я предполагаю, что все это выходит за рамки моей оценки). Иногда в вашем коде вы хотите применить изменение, основанное на тех вычислениях, которые еще не были выполнены. Или вы хотите, чтобы экран обновлялся до того, как он применит больше ваших изменений (обычно для анимаций). Задерживаясь на 0,1 секунды (обычно достаточно), вы даете ОС возможность обновить экран, и вы продолжаете оттуда. –

ответ

-1

Использование

[self.memoTextView performSelector:@selector(becomeFirstResponder) withObject:nil afterDelay:0.1]; 

Я могу перейти от UITextField к UITextView, используя клавишу Return. Ошибка была вызвана задержкой 0,1 при использовании устройства.

Смежные вопросы