我问了这个问题,但不正确。我创建了 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 继承的视图控制器 BaseVC,以及从 BaseVC 继承的其他视图控制器。
我在故事板中创建了我的笔尖
接下来是我的问题:
第一个背景图像出现在状态栏下,但您可以看到其他背景图像出现在状态栏的下方。我尝试在情节提要中将 statusBar 更改为黑色,但这对我没有帮助。我尝试写方法
[self.navigationBar setBackgroundImage:[UIImage imageNamed:@"backGroundLayer.png"] forBarMetrics:UIBarMetricsDefault];
In viewDidLoad or viewWillAppear in NavigationVC, but it not helped too.
我有第二个问题。我在视图控制器中创建按钮,当它触摸时我按下下一个视图。我以编程方式将标题添加到第一个视图和第二个视图。当我触摸按钮时,我在第二个视图的标题中看到了(并且这个标题必须高于它,我认为背景出现时没有状态栏),然后第二个视图的标题消失,我看到空的导航栏。当我单击 backButton 并转到第一个视图时,我会在第二个视图的第一个视图 navigationBar 标题上看到。什么问题?