将设备更新到iOS 11后3D模型颜色发生了变化

我正在使用场景工具包进行应用程序.并且eveything工作正常,直到iOS 10.

我可以看到3D模型正确但在我将设备更新到iOS 11后,模型的颜色发生了变化.

-(void)applyColor:(SCNNode*)node{
    NSArray *materials = node.geometry.materials;
    for (SCNMaterial *material in materials) {
        material.diffuse.contents = [UIColor purpalColor];
    }
}

iOS 9和iOS 10:

iOS 11:

解决方法

According to Apple,meterial.diffuse.contents的默认颜色为白色.

By default,the diffuse property’s contents object is a white color.

没有看到你的代码,我确实想知道这条线,因为这似乎是一个明显的错字:

[UIColor purpalColor];

据推测,它构建,所以我认为它是一个有效的名称.

您是否能够验证上面的颜色是否提供了所需的值?因为看起来iOS正在期待某些东西,而不是它,并在这里发回默认颜色.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...