Изменение значения строки в SCNText не приводит к изменениям

Я читаю гироскоп и меняю строку 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,

Да, я пытался изменить текст в основной теме. Без изменений.

1 ответ

Решение

Настройка string на вашем SCNText геометрии достаточно.

textNode.geometry.string = "0.5"

Если вы не видите никаких изменений, то weakSelfText не указывает, где, по вашему мнению, это происходит. Убедитесь, что вы не пропускаете ссылку куда-либо:

NSAssert(weakSelfText == textNode.geometry, @"pointers not the same")
Другие вопросы по тегам