У меня есть динамическое текстовое поле в проекте Flash AS3. Я прикрепил к нему компонент UIScrollBar, который отлично работает, если текста больше, чем дисплей.

Я хочу иметь возможность скрыть полосу прокрутки, когда места для отображения больше, чем текста. Кажется, я не могу найти ничего об этом в AS3. Кто-нибудь знает свойство, которое я должен искать, чтобы увидеть, должна ли отображаться полоса прокрутки или нет?

Спасибо, Райан.

0
Ryan SMith 13 Сен 2010 в 19:38

3 ответа

Лучший ответ

Добавьте условие, чтобы скрыть его, когда tf.textHeight > tf.height

1
Daniel 13 Сен 2010 в 22:34

// после обновления текста ...

my_textfield.scrollV = 0; // reset the scroll to the top
my_scrollbar.update(); // make sure the scrollbar knows it's been changed
if (my_textfield.maxScrollV <= 1) {
    my_scrollbar.visible = false;
} else {
    my_scrollbar.visible = true;
}
1
Community 24 Июн 2013 в 19:28

Просто установите для свойства visible UIScrollBar значение false, когда это не требуется. Например:

scrollBar.visible = textbox.text.length < MaxLength ? false:true;

Где

  • scrollBar: имя экземпляра добавленного UI-компонента u.
  • textBox: имя экземпляра текстового поля.
  • MaxLength: интегральная длина, за которой scollBar должен быть видимым.
0
loxxy 13 Сен 2010 в 22:45