私はこの質問をしましたが、正しくありませんでした。NavigationVCコントローラーを作成しました:
#import <UIKit/UIKit.h>
@interface NavigationVC : UINavigationController
- (void)setTitleText:(NSString *)title calendar:(BOOL)calendar moveToLeft:(BOOL)left;
//this method for create title of navigationitem that I then use in all ViewControllers
@end
NavigationVC.mには次のものがあります。
@implementation NavigationVC
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)awakeFromNib
{
[self.navigationBar setBackgroundImage:[UIImage imageNamed:@"backGroundLayer.png"] forBarMetrics:UIBarMetricsDefault];
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
}
- (void)viewDidLoad
{
[super viewDidLoad];
}
画像backGoundLayer.pngの解像度は320x44で、backGround@2x.pngの解像度は640x88です。
UIViewControllerから継承したviewcontrollerBaseVCと、BaseVCから継承した他のviewcontrollerを作成しました。
ストーリーボードでペン先を作成しました
そして次の私の問題:
最初の背景画像はstatusBarの下に表示されますが、他の背景画像がstatusBarの下に表示されていることがわかります。ストーリーボードでstatusBarを黒に変更しようとしましたが、役に立ちませんでした。writeメソッドを試してみます
[self.navigationBar setBackgroundImage:[UIImage imageNamed:@"backGroundLayer.png"] forBarMetrics:UIBarMetricsDefault];
In viewDidLoad or viewWillAppear in NavigationVC, but it not helped too.
そして私は2番目の問題を抱えています。ビューコントローラでボタンを作成し、それがタッチされたら次のビューを押します。プログラムで最初のビューと2番目のビューにタイトルを追加します。ボタンをタッチすると、2番目のビューのタイトルが表示されます(このタイトルは必要以上に上にありますが、背景はstatusBarなしで表示されると思います)。次に、2番目のビューのタイトルが消え、空のナビゲーションバーが表示されます。backButtonをクリックして最初のビューに移動すると、最初のビューに2番目のビューのnavigationBarタイトルが表示されます。何が問題なの?