Показать сообщение отдельно
Старый 12.07.2013, 16:17
Hamid вне форума Посмотреть профиль Отправить личное сообщение для Hamid Найти все сообщения от Hamid
  № 1  
Ответить с цитированием
Hamid

Регистрация: Aug 2011
Сообщений: 65
Цитата:
Сообщение от caseyryan Посмотреть сообщение
А что тут объяснять-то? По-моему все очевидно.
Текстфилд создается, у него есть определенные свойства по умолчанию. Далее при вызове геттера Х положения всего, входящего в текст филд обновляется. Он понимает, что появился текст и пересчитывает положения и размеры. И не важно присваивается значение Х переменной или геттер просто вызывается
Да мне тоже так показалось, причем метод get x,y. Заметил еще один баг! Когда выравнивание текста делаю по центру и узнаю координаты одного из символов, то возвращает не правильно, как будто текст еще не выровнялся по центру! Как с этим быть? Может кто такое замечал?

Добавлено через 9 минут
Нашел ошибку! Но не ту про которую пишу в теме, а еще одну getCharBoundaries не правильно работает. По идее он возвращает прямоугольник относительно начала координат текста, но если применить autosize, то криво считает. Допустим у нас текст "тесТ", ищем прямоугольник последней буквы "Т", предположим, что буквы шириной по 10 пикселей, тогда координата последней буквы по х = 30, это так если
Код AS3:
autosize = TextFieldAutoSize.LEFT
Но если сделать
Код AS3:
autosize = TextFieldAutoSize.CENTER
, то он текст перемещается в координаты -20 по х, ну логично, зато теперь х последней буквы не 30, а 10. Т.е. он считает не относительно текста, а х(буквы "Т") = х(относительно начала текст) - х(смещение тектса) и для
Код AS3:
autosize = TextFieldAutoSize.CENTER
то же правило.

И немного вопрос не по теме: форум только у меня раз через 10ый раз грузится или у всех? вроде другие сайты норм.

Добавлено через 13 минут
Цитата:
Сообщение от AlexLucas Посмотреть сообщение
Если убрать autosize ничего не обновится.
Если задать текстовому полю большую ширину (в случае этого текста это более 4 пикселей), а потом опять сжать его до 0 задаются те же странные значения, видимо где-то пытается экономить т.к. буквы сжимаются до нулевой высоты.
Так что это не по умолчанию, а высчитывается криво наверное. И autosize этому как-то мешает.
Нормально на всё ответить могут только разработчики.
И зачем в геттере-то всё пересчитывать ?
"Если убрать autosize ничего не обновится." - это правильно, ибо если нет автовыравнивания, то зачем размеры менять какие заданы, те и остаются. "И autosize этому как-то мешает." - да у метода getCharBoundaries крышу сносит, когда у текста нет размера, видимо проверку забыли поставить, НО я то после задания авторазмера и текст задаю, а он не обновляет размер при этом что ли? По гет методу согласен, это более чем странно.