|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
[+4 06.05.14]
|
Изменение размера поля - динамически
Коллеги, очень сложный и важный вопрос, прошу помощи.
Задача следующая - из swf подгружается графика с текстовыми полями. Обычные поля выравненные по центру, размером скажем 20pt . Задача уменьшать размер шрифта или увеличивать в зависимости сколько символов влезает, вообщем чтобы текст не был обрезанным. Сделал вот такой вот метод для этого : public static function updateFormat(tf:TextField, size:int):void { var format:TextFormat = tf.getTextFormat(); format.size = size; tf.setTextFormat( format ); } public static function gen(tf:TextField , useY:Boolean = false):void { var format:TextFormat = tf.getTextFormat(); var initSize:int = int(format.size); if (tf.textWidth > tf.width - 20) { while ( tf.textWidth > tf.width - 20 ) { initSize--; if(useY) tf.y += 1; updateFormat(tf, initSize); } } else if (tf.textWidth < tf.width - 20) { while ( tf.textWidth < tf.width - 20 ) { initSize++; if(useY) tf.y += 1; updateFormat(tf, initSize); } } } Очень нужна ваша помощь. Спасибо
__________________
Марк Tween Последний раз редактировалось dimarik; 10.10.2016 в 21:01. Причина: форматирование кода |
|
|||||
Но это пол беды. Главная беда в том, что текст при изменении - меняет свой формат обратно, так как он подгруженный и формат у него вроде как изменить нельзя навсегда ( если не ошибаюсь) . А в некоторым моменты врмени текст меняется как счетчик скажем за 1 сек от 0 до 100. И каждые 30 мс вызывать метод описанный выше - будет затратно.
__________________
Я заклинаю вас действовать иначе. |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
может в загружаемой флэшке попробовать allowDomain("*");
ПС:А где сказано что текст формат у загруженных флэшек становится неизменным? |
|
|||||
.
|
Цитата:
PS. Была бы память в организме, я бы точно вспомнил что не так в подгружаемых с помощью swf текстфилдах. Я точно помню, что то-то с ними не так было. Или было так, но был момент. У разрабов флекса тоже было обозначение проблемы. |
|
|||||
[+4 06.05.14]
|
Дима привет, не решает, так как почему то если делать так
tf.defaultTextFormat = textFormat; tf.setTextFormat(textFormat); зависания нет, но текст вообще пропадает, а если убрать setTextFormat второй строкой, то бесконечный цикл. Видимо да - есть какой то нюанс. Но пока отказались вообще от этого, просто уменьишли поле и забили. Хотя на будущее интересно . P.s - код привел полный, поэтому страннтсти в зависании цикла исключены, вроде бы.
__________________
Марк Tween |
|
|||||
Возможно не самое изящное решение, но если подгруженный текстфилд вносит раздор в семью, то и незачем его усыновлять. Предлагаю использовать эти текстфилды в качестве шаблонов, по которым создаются собственные.
|
Часовой пояс GMT +4, время: 02:28. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|