2013-09-24 3 views
1

У меня есть UITextView, содержащий текст, который заполняет всю ширину без переполнения.Анимация UITextView ширина с переполнением

Я уменьшаю ширину UITextView, изменяя ее кадр в анимации блока, так что уменьшенная ширина заставляет текст переполняться, а конец должен быть заменен на ellipsis ('...').

В настоящее время текст не реагирует плавно на изменяющуюся ширину. Он перескакивает из корпуса полной ширины в усеченный случай «...» без чего-либо между ними, и тот же, когда анимация возвращается к полной ширине.

Можно ли заставить текст изменить, а ellipsis будет вводиться/удаляться плавно, когда рамка анимируется?

ответ

1

Вы должны использовать ответ здесь: UITextView animating change of frame does not animate text reallocation

Текст TextViews не всегда действуют, как и ожидалось. Для этого вам нужно настроить NSTimer и установить размер кадра на каждом тике. ли что-то вроде:

textview.frame = CGRectMake (textview.frame.origin.x, textview.frame.origin.y, textview.frame.size.width-1, textview.frame.size.height-1); 

Тогда, когда это сделано, я бы полностью удалить TextView из надтаблицы и установить его в ноль, а затем инициализации нового. Причина этого в том, что при изменении кадров текстовых просмотров по какой-то причине добавление добавляется вокруг поля текста. Вы не заметите этого, если не измените рамку, по крайней мере, 100 раз.

[textview removeFromSuperview]; 
textview = nil; 
textview = [[UITextView alloc] initWithFrame:CGRectMake(x, y, width, height)]; 
textview.text = yourTextString; 
//You will also have to set whatever non default properties you want, such as text or background color 
[view addSubview:textview]; 
Смежные вопросы