我正在通过使用新行字符允许换行来开发\n。它进展顺利,我目前正在确保它在编写podspec之前为OSX和iOS工作。
从表面上看,它似乎是有效的,但我的一个测试在构建OSX时失败了,尽管它通过了iOS测试。这在某种程度上与NSColorSpace有关,但对我来说,这是一个未知的领域。这是类中将颜色复制到子节点的方法:
- (void)setFontColor:(SKColor *)fontColor{
[super setFontColor: fontColor];
self.propertyStateholderNode.fontColor = fontColor;
for (SKLabelNode *subNode in self.subNodes) {
subNode.fontColor = fontColor;
}
_fontColor = fontColor;
}这是一个失败的测试(我已经删除了对两个平台上通过的其他属性的测试):
- (void)testThatSubnodesInheritsPropertiesFromParent{
NORLabelNode *threeLineNode = [self nodeWithThreeSubNodes];
threeLineNode.fontColor = [SKColor greenColor];
for (SKLabelNode *subNode in threeLineNode.subNodes) {
XCTAssertEqualObjects(threeLineNode.fontColor, subNode.fontColor, @"The subnodes should have the same fontColor as the parent.");
}
}测试失败的详细信息如下(threeLineNode.fontColor)等于(subNode.fontColor))失败:("NSCalibratedRGBColorSpace 0 1 0 1")不等于("NSDeviceRGBColorSpace 0 0.976895 0 1") .
我一点也不清楚这些节点是如何形成不同颜色空间的.
发布于 2014-04-18 13:05:00
因为我们知道颜色空间是不同的,所以在使用-colorUsingColorSpace:(NSColorSpace *)进行比较之前,我会尝试将它们转换为相同的颜色空间。您可以将它们解析为一个已知的颜色空间,也可以将它们转换为彼此的颜色空间。同样,只有在Mac上才会发生这种情况,而且NSColorSpace是可用的。
帖子邮件列表中的CocoaBuilder讨论了比较组件值的问题,但这并不理想,因为组件没有区分rgb和灰度。
发布于 2014-04-18 12:50:43
https://stackoverflow.com/questions/23154290
复制相似问题