我的应用程序设置为使用flex framework_3.3.0.4852.swf作为rsl,它可以很好地报告没有错误。然而,现在一些图表已经丢失了纵轴和横轴的图例文本。
分析样式/属性时,用于轴文本的UITextField的文本宽度为零!数据设置正确,并且所有父组件都设置为不影响文本宽度的大小。
起初,我认为我有一个风格出血的问题,但后来我发现,如果我在构建应用程序时合并了所有库(包括框架),问题就会消失。
我还做了一些测试,使用内联样式来覆盖可能出现的任何样式出血,但没有效果。
以前有人见过这种与使用rsl有关的东西吗?
更新:
此后,我在adobe支持知识库中发现了一些已知的错误https://bugs.adobe.com/jira/secure/IssueNavigator.jspa?
以下是与我的问题相关的2个错误:
1)https://bugs.adobe.com/jira/browse/FLEXDMV-1883
据报道,这已经修复,但下一个错误似乎不同意,我将对此进行进一步调查,并再次更新这个问题。
2)https://bugs.adobe.com/jira/browse/FLEXDMV-2065
更新:
好的,我从我的样式表中,从模块和应用程序中删除了用于图表的嵌入字体。UITextField文本现在再次出现。很明显,这是一个嵌入的字体问题。
总之,如果您有一个模块化的应用程序,您需要在模块和应用程序中嵌入字体,以便正确地提取它们。但是,如果使用框架swf作为rsl,则不能将嵌入字体与图表轴文本一起使用。
更新:
现在我有一个真正的问题,我的两个图表使用了旋转效果。当效果播放并完成时,轴文本会消失,因为在以这种方式对文本应用效果时,我需要使用嵌入的字体。但当然,当我有框架swf作为rsl时,我不能使用嵌入式字体进行图表样式!!不知道如何绕过这个?
在尝试覆盖使用SDK 3.x时为图表组件呈现Axis标签的方式后,并没有取得很大进展。我决定,不幸的是,短期解决方案是回滚我们的构建,在升级到SDK的4.x版本之前,不使用框架swf作为RSL。
主要原因是:
1) 如果框架swf在您的项目中是RSL,则不能为图表轴标签使用嵌入式字体,因为它们不会显示。如果你分析它们的属性,你会发现除了文本宽度设置为零之外,所有数据都是正确的。
https://bugs.adobe.com/jira/browse/FLEXDMV-1883-模块化应用程序相关的类似错误
https://bugs.adobe.com/jira/browse/FLEXDMV-2015-RSL相关
https://bugs.adobe.com/jira/browse/FLEXDMV-2065-RSL相关
2) 如果为了解决上述问题,从图表组件的轴样式中删除了嵌入字体,则无法将效果应用于相同的组件。这是因为您需要使用嵌入式字体才能正确地将效果应用于Axis标签。
解决此问题的唯一方法是将SDK升级到4.x,因为图表Axis使用Label而不是UITextField。