在我发布的应用程序中,只要运行3.1.3,我就决定将设备支持回原始iPhone。该应用程序最初只是iPhone,但随后我将其更新为Universal。在将应用程序转换为通用并添加代码以检查UI_USER_INTERFACE_IDIOM并根据检测到的设备加载备用xib之后,我遇到了一个问题。问题:我有一个标签,我在一个表格单元格中显示,现在不在3.1.3设备上显示。在进行了一些挖掘,为什么这个标签没有出现我注意到我指定了Futura Medium作为这个标签的字体(在自定义单元格xib中),并且3.1.3中没有这个字体。 (请参阅this。)。使用Helvetica的所有其他标签在3.1.3中显示正常。
我很困惑为什么在我添加IDIOM代码之前出现了这个标签,但我没有在条件代码中看到任何会阻止此标签在任何情况下显示的内容。所以我倾向于认为它与该操作系统版本上的字体有关。
如果我可以轻松访问3.1.3设备或Xcode 4中提供3.1.3模拟器,我可以通过选择不同的字体并重建应用程序来测试这是否实际上是问题。但我不可以轻松访问这样的设备。
我的问题是:如果我已将字体分配给标签并且该字体未内置于iOS版本,那么3.1.3操作系统(或任何其他版本的iOS)是否会执行字体操作替换并以替代字体显示标签。或者它不会像我现在在3.1.3设备上看到的那样显示?如果这样的替换发生那么我的问题必须在其他地方。如果它无法显示它是否找不到字体,那么我的问题已经很好地识别出来了,我将在应用程序中使用不同的字体重建并在商店中进行更新。
答案 0 :(得分:0)
我通过将问题发布到Apple开发者论坛获得的建议:“如果替换了字体,则生成的字体可能对于控件大小而言太大而整个文本可能会被剪切。建议记录框架标签和试验更大的尺寸。“