I faced one problem with movieclip height. Actually I created a moveiclip which is having 4 labels, 1 textinput, 1 textarea, 1 button (all these are components). The height of the movieclip is 280. I added this movieclip to another movieclip for displaying it onto the stage. At that time height of the movieclip is 337.5. I want to know the reason for why the height is changed? Anyone please help me.
and my code is as follows:
var mc:MovieClip = new MovieClip();
if(i == 0)
cell = new email_cell();
if(i == 1)
cell = new details_cell();
cell.x = 20;
cell.y = mc.height;
Both email_cell and details_cell height is changed.
Are you saying that the line trace(cell.height); indicates a value greater than what you believe the height is (280)?
What value of height does it trace is you just manually add an instance to the stage?
If the manually placed instance still measures 337.5 then chances are that is its true height. If you can show a screenshot of the offending movieclip, I can probably recreate it to see if I get the same result and then maybe determine which object within it it might be creating height that you can't see.
Here's what I have concluded... the label elements are what are causing the problem, the one inside the button component being the contributor to the 337.5 value. If you were to remove that button I am guessing you would still see something around the 311 height value due to the label above the button.
I cannot answer why this is the case, but that's what it is. The labels apparently carry some unseen baggage. I generally avoid using components for a few reasons... they tend to weigh too much byte-wise, some can be a pain to manage, and then they go and pull stuff like this.
What I did to investigate this is to place each component on a separate layer in the movieclip and made each layer a guide layer. Then I gradually changed them back and watched the height values reported by your code.
You options for a solution...
1) don't use labels or button components... use textfields and button symbols (ones you create yourself)
2) create the backgrounds as movieclips and use those to find the height.
3) assign some property to the movieclips for their height values and use those instead of the height you read as a property.