It seems this problem is not resolved.

To fix this problem, I override the layoutContent function in skin
ScrollingStageTextInputSkin, and add the half of font size : 

[CODE]
override protected function layoutContents(unscaledWidth:Number, 
                                                                                
                   unscaledHeight:Number):void
                {
                        // base class handles border position & size
                        super.layoutContents(unscaledWidth, unscaledHeight);
                        
                        // position & size the text
                        var paddingLeft:Number = getStyle("paddingLeft");
                        var paddingRight:Number = getStyle("paddingRight");
                        var paddingTop:Number = getStyle("paddingTop");
                        var paddingBottom:Number = getStyle("paddingBottom");
                        
                        var unscaledTextWidth:Number = Math.max(0, 
unscaledWidth - paddingLeft -
paddingRight);
                        var unscaledTextHeight:Number = Math.max(0, 
unscaledHeight - paddingTop -
paddingBottom);
                        
                        var fontSize : Number = getStyle('fontSize');
                        if(isNaN(fontSize))
                                fontSize = 0;
        
                        // default vertical positioning is centered
                        var textHeight:Number = 
getElementPreferredHeight(textDisplay);
                        var textY:Number = Math.round(0.5 * (unscaledTextHeight 
- textHeight)) +
paddingTop - (fontSize/2);
                        
                        if (textDisplay)
                        {
                                textDisplay.commitStyles();
                                setElementSize(textDisplay, unscaledTextWidth, 
unscaledTextHeight);
                                setElementPosition(textDisplay, paddingLeft, 
textY);
                        }
                        
                        if (promptDisplay)
                        {
                                if (promptDisplay is StyleableTextField)
                                        
StyleableTextField(promptDisplay).commitStyles();
                                
                                var promptHeight:Number = 
getElementPreferredHeight(promptDisplay);
                                var promptY:Number = Math.round(0.5 * 
(unscaledTextHeight -
promptHeight)) + paddingTop;
                                
                                setElementSize(promptDisplay, 
unscaledTextWidth, promptHeight);
                                setElementPosition(promptDisplay, paddingLeft, 
promptY);
                        }
                }
[/CODE]



--
View this message in context: 
http://apache-flex-users.2333346.n4.nabble.com/Problems-with-vertical-alignment-of-Textinput-on-iOS-tp7417p8742.html
Sent from the Apache Flex Users mailing list archive at Nabble.com.

Reply via email to