flex mobile:textInput组件上ipado上的裁剪删除图标

时间:2012-10-25 14:17:53

标签: flex flex4.5 flex-mobile

这是我的textInput的CSS

s|TextInput{
    skinClass: ClassReference("spark.skins.mobile.TextInputSkin");
    contentBackgroundColor:#FFFFFF;
    focusAlpha:0;
    showPromptWhenFocused:false;
}

我使用简单:

    <s:TextInput id="id1" />
    <s:TextInput id="id1" height="40" />
    <s:TextInput id="id1" height="60 />

在iphone / ipad上:关闭图标出现顶部裁剪: enter image description here

知道如何解决这个问题吗? (甚至如何删除那个X图标)?

2 个答案:

答案 0 :(得分:1)

图标是设定的高度,至少在Flex中,不会调整其大小。裁剪是从文本字段的高度开始的(读取:不是 TextInput组件,但是文本进入的实际字段)。由于该字段不像图标那么高,因此图标会被裁剪。

有两种解决方案:

  1. 显而易见的是增加TextInput字段的高度,直到该图标不再被裁剪。如果需要,您可以截取屏幕截图并测量裁剪的像素。
  2. 您获得该图标,因为TextInput使用StageText。 StageText使用本机文本呈现而不是Flash文本呈现。在理想情况下,StageText是完美的。但是,情况很少是理想的。要解决此问题,只需将移动TextInput外观skinClass="spark.skins.mobile.TextInputSkin"应用于TextInput组件即可。作为www.Flextras.com pointed out to me yesterday,这会将TextInput恢复为Flex 4.6之前的行为,后者引入了StageText。
  3. 这些解决方案中的任何一个都应该适合您。你只需要选择最好的。我更喜欢Option#2,因为正如我所提到的,StageText存在其他问题(例如让displayAsPassword正常运行)切换到该皮肤修复

答案 1 :(得分:0)

我会尝试编辑皮肤,因为这是图标裁剪正在发生的地方