Показать сообщение отдельно
Старый 19.07.2012, 23:40
incvizitor вне форума Посмотреть профиль Отправить личное сообщение для incvizitor Найти все сообщения от incvizitor
  № 1  
Ответить с цитированием
incvizitor
 
Аватар для incvizitor

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
По умолчанию Инвертировать индексы элементов посредством VerticalLayout

Элементы налазять друг на друга (gap=-10), проблема в том что первый элемент получается ниже остальных, а надо наоборот. Написал небольшой класс который реверсает элементы, но почему то падает очень инофрмативный эксепшн:

Цитата:
Error: null
Вот код:

Код AS3:
package by.brovar.postmaker.ui {
import flash.display.DisplayObject;
 
import mx.core.ILayoutElement;
 
import spark.components.supportClasses.GroupBase;
import spark.layouts.VerticalLayout;
 
public class ReversedIndexVerticalLayout extends VerticalLayout{
 
    override public function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
        super.updateDisplayList(unscaledWidth, unscaledHeight);
        _reverseLayoutIndexOrder();
    }
 
    private function _reverseLayoutIndexOrder():void {
        var layoutTarget:GroupBase = target;
        var count:int = layoutTarget.numElements;
        var targetElementList:Vector.<ILayoutElement> = new Vector.<ILayoutElement>();
        for (var i:int = 0; i < count; i++) {
            targetElementList.push(layoutTarget.getElementAt(i));
        }
        for each(var targetElement:ILayoutElement in targetElementList) {
            layoutTarget.setChildIndex(targetElement as DisplayObject, layoutTarget.numElements);
        }
    }
}
}
Падает на строчке:

Код AS3:
layoutTarget.setChildIndex(targetElement as DisplayObject, layoutTarget.numElements);
__________________
ranga