我正在研究 Flex 应用程序中的一个问题,在该应用程序中,OS X 上的文本与 Windows 相比向上移动了几个像素。每个文本字段都不是垂直对齐到中间,而是更靠近顶部。
在这里找到了一个线程,但没有真正的解决方案http://forums.adobe.com/message/2189821
任何人都知道如何以适用于两个系统的方式解决此问题。
我正在研究 Flex 应用程序中的一个问题,在该应用程序中,OS X 上的文本与 Windows 相比向上移动了几个像素。每个文本字段都不是垂直对齐到中间,而是更靠近顶部。
在这里找到了一个线程,但没有真正的解决方案http://forums.adobe.com/message/2189821
任何人都知道如何以适用于两个系统的方式解决此问题。
我的方法是在检测到 OS X 时有条件地调整组件定位。
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
preinitialize="onPreinitialize()"
>
<fx:Script>
<![CDATA[
import mx.controls.Alert;
private function onPreinitialize():void
{
Alert.show((-1 != Capabilities.os.search(new RegExp('mac', 'i'))) ? 'Replace this Alert with code which adjusts text positioning in order for it to appear the same as when it runs on Windows.' : 'No need to adjust text', Capabilities.os);
}
]]>
</fx:Script>
</s:Application>