ナビゲーションバーのレイヤにグラデーションを追加していて、うまくいきます。 別のビューのコントローラとポップビューのコントローラをプッシュすると問題が発生します。親ビューコントローラには、View Controllerをポップすると色が薄くなる右のバーボタンアイテムがあります。 私のコードはaddGradientToNavigationBarためNavigationBarレイヤのグラデーションがうまく機能しない
CGRect navFrame = self.navigationController.navigationBar.frame;
navFrame.origin.y = 0.0f;
[self.navigationController.navigationBar.layer insertSublayer:[AddGradient addGradientToNavigationBar:navFrame] atIndex:0];
コードは、私は同じ問題を抱えている
+ (CAGradientLayer*)addGradientToNavigationBar:(CGRect)navRect {
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = navRect;
gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0] CGColor],
(id)[[XAppDelegate getColor] CGColor], nil];
return gradient;
}