1

ナビゲーションバーがあり、画像を使用して変更したい、このコードを実装しました

self.navBar.layer.contents = (id)[UIImage imageNamed:@"flower.png"].CGImage;

しかし、背景はまだ変更されていません。ナビゲーション バーの階層は次のとおりです。 - UINavigationBar - UINavigationItem - UISegementControl

私はすでにその階層のすべての部分にコンセントを設定しています..何か問題がありますか???

4

1 に答える 1

1

これが私がかなりうまく使ったものです:

CALayer *backgroundImageLayer;
backgroundImageLayer = [CALayer layer];
backgroundImageLayer.frame = CGRectMake(0, 0, 300, 44);
backgroundImageLayer.backgroundColor = [UIColor redColor].CGColor;
backgroundImageLayer.contents = (id)[[UIImage imageNamed:@"barImage.png"] CGImage];
backgroundImageLayer.zPosition = -5.0;
[myNavigationConroller.navigationBar.layer addSublayer:test];

重要なのは zPosition を -5.0 に設定することでしたが、負の値はどれでも機能するはずです。これにより、backgroundImageLayerが UINavigationBar のボタンとラベルに干渉しなくなります。

于 2011-01-03T21:45:32.473 に答える