Код ниже обновит backgroundColor
сразу после commit
.
[CATransaction begin];
self.view.backgroundColor = [UIColor redColor];
[CATransaction commit];
sleep(5);
Но с вложенным явным CATransactions
экран обновляется только при фиксации самой внешней транзакции.
[CATransaction begin];
[CATransaction begin];
self.view.backgroundColor = [UIColor redColor];
[CATransaction commit];
sleep(5);
[CATransaction commit];
Так что это делает его очень странным, потому что мы знаем, что runloop будет создавать внешнюю наиболее неявную транзакцию в каждом цикле. Почему эта implicit transaction
не рассматривается как самая внешняя транзакция при фиксации explicit transaction
?