backgroundColor
以下のコードは、 の直後にを更新しcommit
ます。
[CATransaction begin];
self.view.backgroundColor = [UIColor redColor];
[CATransaction commit];
sleep(5);
しかし、ネストされた explicitCATransactions
を使用すると、最も外側のトランザクションがコミットされた場合にのみ画面が更新されます。
[CATransaction begin];
[CATransaction begin];
self.view.backgroundColor = [UIColor redColor];
[CATransaction commit];
sleep(5);
[CATransaction commit];
したがって、これは非常に奇妙です。なぜなら、runloop がループごとに最も外側の暗黙的なトランザクションを作成することがわかっているからです。コミットimplicit transaction
時にこれが最も外側のトランザクションと見なされないのはなぜですか?explicit transaction