Проблема с прокруткой компонента UIScrollBar в классе - PullRequest
0 голосов
/ 11 сентября 2008

Я пытаюсь прикрепить экземпляр компонента UIScrollbar к динамическому текстовому полю внутри экземпляра класса, который создается после загрузки некоторого XML. Компонент полосы прокрутки подключается правильно, поскольку размер ползунка зависит от объема содержимого в текстовом поле, однако он не будет прокручиваться.

Вот код:

function xmlLoaded(evt:Event):void
{   
    //do some stuff

    for(var i:int = 0; i < numProfiles; i++)
    {
        var thisProfile:profile = new profile();

        thisProfile.alpha = 0;
        thisProfile.x = 0;
        thisProfile.y = 0;
        thisProfile.name = "profile" + i;

        profilecontainer.addChild(thisProfile);

        thisProfile.profiletextholder.profilename.htmlText = profiles[i].attribute("name");
        thisProfile.profiletextholder.profiletext.htmlText = profiles[i].profiletext;

        //add scroll bar
        var vScrollBar:UIScrollBar = new UIScrollBar();
        vScrollBar.direction = ScrollBarDirection.VERTICAL;
        vScrollBar.move(thisProfile.profiletextholder.profiletext.x + thisProfile.profiletextholder.profiletext.width, thisProfile.profiletextholder.profiletext.y);
        vScrollBar.height = thisProfile.profiletextholder.profiletext.height;
        vScrollBar.scrollTarget = thisProfile.profiletextholder.profiletext;
        vScrollBar.name = "scrollbar";
        vScrollBar.update();
        vScrollBar.visible = (thisProfile.profiletextholder.profiletext.maxScrollV > 1);

        thisProfile.profiletextholder.addChild(vScrollBar);

        //do some more stuff
    }
}

Я также попробовал его с компонентом UIScrollBar внутри самого мувиклипа / класса, и он все еще не работает. Есть идеи?

Ответы [ 3 ]

2 голосов
/ 16 сентября 2008

Вы можете попробовать добавить полосу прокрутки после инициализации текстового поля из отдельной функции, подобной этой:

private function assignScrollBar(tf:TextField, sb:UIScrollBar):void {
    trace("assigning scrollbar");
    sb.move(tf.x + tf.width, tf.y);
    sb.setSize(15, tf.height);
    sb.direction = ScrollBarDirection.VERTICAL;
    sb.scrollTarget = tf;
    addChild(sb);
    sb.update();         
}

Так я сейчас и делаю.

0 голосов
/ 16 сентября 2008

В вашем первом примере вы пытались положить vScrollBar.update(); заявление после addChild(vScollbar);

0 голосов
/ 11 сентября 2008

Вы пытались поместить полосу прокрутки пользовательского интерфейса на сцену, привязать ее к текстовому полю во время разработки, а затем вызвать update () во время загруженного события?

В прошлом у меня был интересный опыт динамического создания UIScrollbars во время выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...