Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.02.2015, 15:51
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 1  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,283
По умолчанию неожиданное поведение текстфилда

наткнулся на очень необычное поведение текстфилда. Имеем символ в библиотеке, в нем только одно-строчное текстовое поле . Шрифт - arial 16,символы заэмбежены. При попытке установить у текстфилда свойство autoSize почему-то меняется высота поля
Код AS3:
var t=new packTitle();
trace(t.height); //21.9
t.tf.autoSize=flash.text.TextFieldAutoSize.CENTER;
t.tf.text="WWWWWWWWWWWWWWWWWWWWWWWWW";
trace(t.height); //35.3
addChild(t);
С чем может быть связана такая гадость?

Старый 09.02.2015, 21:45
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 2  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Ну так автосайз же.

Добавлено через 53 секунды
В смысле непонятно чего вы ожидаете?
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 09.02.2015, 22:30
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 3  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Если строка по-прежнему одна, но высота отличается — это забавно. Может даже нужно разобраться.
Другое дело, кто вообще работает с tf.height? Обычно работаем с куда более информативным tf.textHeight.
__________________
Поймай яблоко 2!

Старый 10.02.2015, 00:33
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 4  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,283
Gbee,ожидается,что однострочный тектфилд не будет менять свою высоту, а растянется по горизонтали. Эффект наблюдается даже если не менять содержимое поля.
Zebestov,строка одна, поле однострочное. в коде нет tf.height.Я смотрю высоту контейнера.И из-за этого глюка у меня вся разметка сползает.

Старый 10.02.2015, 01:07
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 5  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,922
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Я думаю, поле растягивается под шрифт. Поставьте шрифт ещё больше/меньше и посмотрите на размеры, они должны поменяться. Если да, то значит в этом дело.
__________________
There is no thing in this world that is not simple.

Старый 10.02.2015, 01:53
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 6  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Программно созданное поле с таким автосайзом под стандартный Ариал 16 пикселей с текстом WWWW имеет высоту 23 пикселя.

А можно нам вместо trace(t.height) узнать высоту самого текстфилда? Может, он изначально имеет такую высоту, что не вмещает текст 16 пикселей, то есть меньше 23?
__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 10.02.2015 в 02:20.
Старый 10.02.2015, 02:13
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 7  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,283
Wolsh, вопрос-то не в том почему именно 36, а в том,почему выставление autoSize меняет высоту однострочного текстфилда.Причем если убрать автосайз высота так и останется 21

Старый 10.02.2015, 02:22
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 8  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
почему выставление autoSize меняет высоту однострочного текстфилда
Потому что, на минуточку, в этом и есть смысл автосайза — подстроиться под размер текста.

Добавлено через 27 минут
Я хочу обратить Ваше внимание на то, как задан вопрос. В нем практически нет никаких исходных. Вы даже размеры приводите не ТекстФилда, а некоего контейнера собственного класса. Поэтому отвечать остается на вот этот вопрос. ТекстФилд с автосайзом автоматически меняет сайз, потому что он с автосайзом.
Еще раз: я проверил, программный текстфилд с автосайзом принимает строго такой размер, чтобы вместить Ариал 16 — 23 пикселя. Нет никаких 35.3. Это проблема контейнера, скорее всего. Или изначально размер ТекстФилда в классе был меньше 10 пикселей.
__________________
Reality.getBounds(this);

Старый 10.02.2015, 06:39
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 9  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Так можно же при включенном autoSize принудительно задать высоту текстфилда. После этого будет меняться только ширина

Старый 10.02.2015, 12:14
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 10  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,283
Цитата:
Потому что, на минуточку, в этом и есть смысл автосайза — подстроиться под размер текста.
Тут ключевое слово однострочный чтоб подстроиться он может разъехаться по горизонтали, но никак не по высоте.
Контейнер , в котором тектфилд не содержит никакого доп. кода,PaсkTitle - это автосгенерированный flash IDE класс,там только поле и все.Мне всегда казалось, что в таком случае высота контейнера должна совпасть с высотой поля.
Цитата:
Еще раз: я проверил, программный текстфилд с автосайзом принимает строго такой размер, чтобы вместить Ариал 16 — 23 пикселя. Нет никаких 35.3. Это проблема контейнера, скорее всего. Или изначально размер ТекстФилда в классе был меньше 10 пикселей.
Wolsh, не могли бы Вы попробовать запустить fla из аттача? Если это чисто у меня такая фигня,то пойду переустанавливать все
Вложения
Тип файла: zip tf_test.zip (6.7 Кб, 25 просмотров)

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:51.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 20:51.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.