【问题标题】:SKLabelNode creates black line and not showing text on iPhone4SKLabelNode 在 iPhone4 上创建黑线并且不显示文本
【发布时间】:2014-05-31 17:44:41
【问题描述】:

我正在将不同的文本加载到 SKLbeNode 中,它在 iPhone5、模拟器等上运行良好……但在 iPhone4 上,我有时只会得到一条黑线,而不是文本。

奇怪的是总是相同的文本导致失败,但我不知道发生了什么。

代码是:

ButtonText=@"";

    ButtonLabel=[SKLabelNode labelNodeWithFontNamed:@"Marker Felt"];
    ButtonLabel.fontSize=46;
    ButtonLabel.text=ButtonText;
    ButtonLabel.position=CGPointMake(0, 0);
    ButtonLabel.verticalAlignmentMode=SKLabelVerticalAlignmentModeCenter;
    ButtonLabel.horizontalAlignmentMode=SKLabelHorizontalAlignmentModeCenter;
    ButtonLabel.colorBlendFactor=1.0f;

当我更改文本时,只需使用

ButtonLabel.text=NewString;

可能是什么问题?

【问题讨论】:

  • “NewString”的确切文本是什么?您是否检查过它是非零并且是实际的 NSString (CFString) 对象?试试:NSLog(@"%@ %@", NewString, NSStringFromClass([NewString class]);
  • 您好,感谢您的建议。这是 NSLog 行返回的内容。 “Hány olimpiai bajnokságot nyert Kemény Dénes a vízilabdázóival?__NSCFString”。在 iPhone5 或模拟器上也是如此,但在 iPhone 上我看不到文本,只是呈现文本行大小的一种黑色占位符。
  • 该软件是一个问答游戏,可以从网络服务下载问题,并附上答案。大多数问题在 iPhone 4 上也可以并且可见,但总是相同的问题会产生这种愚蠢的效果。实际上,由于兼容性问题,我正在将游戏从 cocos2d 更改为 sprite kit,因为我想稍后将游戏移植到 OSX。
  • 我只是将 NewString.length 添加到 NSLog 中。在 iPhone4 上产生问题的所有 NSStrings 等于或长于 54 个字符,这可能是某种限制_
  • 我已将字体类型从 Marker Felt 更改为 Verdana。现在,当文本长度为 44 个字符或以上时,它会失败。这一定是 Sprite Kit 中的错误。

标签: sprite-kit iphone-4 sklabelnode


【解决方案1】:

我已向 Apple 提交了有关此错误的错误报告。几周后,他们回复并要求使用更新的 IOS 检查问题。它工作得更好并且接受更长的文本。后来他们完全解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-14
    • 2019-11-27
    • 1970-01-01
    相关资源
    最近更新 更多