0

我正在研究 Flex 应用程序中的一个问题,在该应用程序中,OS X 上的文本与 Windows 相比向上移动了几个像素。每个文本字段都不是垂直对齐到中间,而是更靠近顶部。

在这里找到了一个线程,但没有真正的解决方案http://forums.adobe.com/message/2189821

任何人都知道如何以适用于两个系统的方式解决此问题。

4

1 回答 1

0

我的方法是在检测到 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>
于 2012-09-05T18:08:57.980 回答