|
|
|||||
Регистрация: Aug 2011
Сообщений: 65
|
Баг в текстовом поле
Всем привет, объясните мне пожалуйста почему так происходит, пока мой мозг не улетел в космос!
Просто запустите код и посмотрите что печатает, а печатает вот что: test 0 = (x=0, y=-107374182.4, w=11, h=0) test 1 = (x=2, y=2, w=11, h=15) |
|
|||||
[+1 05.11.12]
Регистрация: Feb 2011
Сообщений: 431
|
Наверное тот кто написал TextField
И в следующий раз называйте нормально тему, случай интересный, а тему наверное закроют за неподобающее название.
__________________
Oomph |
|
|||||
А что тут объяснять-то? По-моему все очевидно.
Текстфилд создается, у него есть определенные свойства по умолчанию. Далее при вызове геттера Х положения всего, входящего в текст филд обновляется. Он понимает, что появился текст и пересчитывает положения и размеры. И не важно присваивается значение Х переменной или геттер просто вызывается |
|
|||||
Регистрация: Aug 2011
Сообщений: 65
|
Да, с названием темы погорячился Этот баг просто мозг мне вынес.
|
|
|||||
[+1 05.11.12]
Регистрация: Feb 2011
Сообщений: 431
|
Если убрать autosize ничего не обновится.
Если задать текстовому полю большую ширину (в случае этого текста это более 4 пикселей), а потом опять сжать его до 0 задаются те же странные значения, видимо где-то пытается экономить т.к. буквы сжимаются до нулевой высоты. Так что это не по умолчанию, а высчитывается криво наверное. И autosize этому как-то мешает. Нормально на всё ответить могут только разработчики. И зачем в геттере-то всё пересчитывать ?
__________________
Oomph |
|
|||||
Регистрация: Aug 2011
Сообщений: 65
|
Цитата:
Добавлено через 9 минут Нашел ошибку! Но не ту про которую пишу в теме, а еще одну getCharBoundaries не правильно работает. По идее он возвращает прямоугольник относительно начала координат текста, но если применить autosize, то криво считает. Допустим у нас текст "тесТ", ищем прямоугольник последней буквы "Т", предположим, что буквы шириной по 10 пикселей, тогда координата последней буквы по х = 30, это так если Но если сделать , то он текст перемещается в координаты -20 по х, ну логично, зато теперь х последней буквы не 30, а 10. Т.е. он считает не относительно текста, а х(буквы "Т") = х(относительно начала текст) - х(смещение тектса) и для то же правило. И немного вопрос не по теме: форум только у меня раз через 10ый раз грузится или у всех? вроде другие сайты норм. Добавлено через 13 минут Цитата:
|
Часовой пояс GMT +4, время: 10:48. |
|
« Предыдущая тема | Следующая тема » |
Теги |
bug , TextFieldAutoSize , TextFiled |
|
|