我正在阅读陀螺仪,并将SCNText
几何图形的字符串更改为陀螺仪的偏航值。更改发生在陀螺处理程序内部,每1/30秒调用一次。在SCNText
几何与Interface Builder中创建。
我正在使用此代码来检索对文本的引用:
SCNNode *textNode = [scene.rootNode childNodeWithName:@"yawText" recursively:YES];
self.text = [textNode geometry];
//self.txt is declared as @property (strong, nonatomic) SCNText *text;
稍后在陀螺手柄上,我这样做:
CGFloat yaw = convertToDegrees(attitude.yaw);
[weakSelfText setString:[NSString stringWithFormat:@"%.1f", yaw]];
NSLog(@"yaw = %1f", yaw);
// I had to declare weakSelfText outside the gyro handler
// because Xcode was complaining
// weakSelfText is declared like this
// __weak typeof(self.text) weakSelfText = self.text;
NSLog
正确打印值,但是上没有任何变化SCNText
。
是的,我试图更改主线程上的文本。没变化。
string
在SCNText几何上设置即可。
textNode.geometry.string = "0.5"
如果您看不到任何变化,则weakSelfText不会指向您认为发生变化的地方。确保您没有在某处放置参考:
NSAssert(weakSelfText == textNode.geometry, @"pointers not the same")
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句