カスタム画像を表示するようにカスタムUINavigationBarをカスタマイズしました(実際には、NSTimer上の多数の画像間でクロスフェードします):
- (void) displayImage:(EGOImageView*)anImageView {
CABasicAnimation *crossFade = [CABasicAnimation animationWithKeyPath:@"contents"];
crossFade.duration = 0.5;
crossFade.fromValue = self.layer.contents;
crossFade.toValue = (id)[self imageFromView:anImageView].CGImage;
[self.layer addAnimation:crossFade forKey:@"animateContents"];
self.layer.contents = (id)[self imageFromView:anImageView].CGImage;
}
barButtonItemを有効または無効にするときに、navigationBarがカスタムレイヤーを失うのを防ぐにはどうすればよいですか?VCの次の行が実行されると、ナビゲーションバーはデフォルトの状態に戻ります。
self.navigationItem.rightBarButtonItem.enabled = !editing;
(VCのviewDidLoadで設定したUIBarStyleBlackOpaqueに戻ります)