2010-08-09 4 views
0

Si j'ai un conteneur et que j'ai défini clipContent sur true, comment puis-je obtenir la hauteur totale des enfants à l'intérieur? Existe-t-il une méthode pour faire cela sans parcourir chaque enfant et sommer les hauteurs? (Ce serait vraiment difficile pour moi car j'ai un mx: Tuile avec une largeur variable, donc je ne sais pas combien de lignes a-t-il)?Comment obtenez-vous la hauteur totale du childern d'un conteneur dans Flex?

Des idées? :)

Répondre

0

itérer sur les enfants:

var totalHeight : int = 0 
for (i: int = 0; int < container.numChildren; i++){ 
totalHeight += container.getchildAt(i).height; 
} 

Ce code est écrit dans un navigateur et non testé.

Il semble que vous utilisiez une disposition de style Mosaïque dans laquelle les mosaïques peuvent avoir des largeurs différentes, inconnues. Est-ce vrai? Est-ce que c'est possible? Si c'est le cas, vous pouvez ne pas vouloir la hauteur totale des enfants du conteneur, mais la hauteur totale de toutes les lignes du conteneur. Si oui, gardez une trace de la variable 'y'.

Quelque chose comme ceci:

var totalHeight : int = 0 
var largestRowHeight : int = o; 
var previousY : int = 0; 
for (i: int = 0; int < container.numChildren; i++){ 
largestRowHeight = Math.max(largestRowHeight), container.getchildAt(i).height); 
if(previousY != container.getchildAt(i).y){ 
    totalHeight += largestRowHeight; 
    largestRowHeight = 0; 
} 
previousY = container.getchildAt(i).y; 
} 

Le dernier morceau de code est encore plus rude que le premier bit.

+0

Eh bien, je suppose que je dois itérer sur les enfants après tout ... Merci! –

Questions connexes