在我的应用程序中,我使用自定义导航栏并在导航控制器中添加栏按钮项目,即后退按钮。 现在我的问题是当我关闭我的应用程序,然后再次从背景打开应用程序然后返回按钮框架从原始大小上升。 请建议我这样做的方法。
这是我的代码:
[self.navigationController.navigationBar setHidden:NO];
if([self isPad])
{
if([self isPadPortrait]){
UIImage *gradientImage1 = [[UIImage imageNamed:@"navigationbar_ipadPortrait.png"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
[self.navigationController.navigationBar setBackgroundImage:gradientImage1 forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setFrame:CGRectMake(0, 0, 768, 61)];
}
else if([self isPadLandscape]){
UIImage *gradientImage2 = [[UIImage imageNamed:@"navigationbar_ipadLandscape.png"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
[self.navigationController.navigationBar setBackgroundImage:gradientImage2 forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setFrame:CGRectMake(0, 0, 1024, 61)];
}
}
else{
UIImage *gradientImage3 = [[UIImage imageNamed:@"navigationBarReady.png"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
[self.navigationController.navigationBar setBackgroundImage:gradientImage3 forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setFrame:CGRectMake(0, 0, 320, 61)];
}
btnBack=[UIButton buttonWithType:UIButtonTypeCustom];
[btnBack addTarget:self action:@selector(btnBackPressed:) forControlEvents:UIControlEventTouchUpInside];
if([self isPad]){
if([self isPadPortrait]){
[btnBack setFrame:CGRectMake(0, 0, 150,44)];
}else if([self isPadLandscape]){
[btnBack setFrame:CGRectMake(-5, 0, 150,44)];
}
}else{
[btnBack setFrame:CGRectMake(0, 0, 51,41)];
}
backModifiedView=[[UIView alloc] initWithFrame:btnBack.frame];
if([self isPad]){
[btnBack setImage:[UIImage imageNamed:@"btnBackIpad.png"] forState:UIControlStateNormal];
[btnBack setFrame:CGRectMake(btnBack.frame.origin.x-15, btnBack.frame.origin.y, btnBack.frame.size.width, btnBack.frame.size.height)];
}
else{
[btnBack setImage:[UIImage imageNamed:@"btnBack.png"] forState:UIControlStateNormal];
[btnBack setFrame:CGRectMake(btnBack.frame.origin.x, btnBack.frame.origin.y-8, btnBack.frame.size.width, btnBack.frame.size.height)];
}
[backModifiedView addSubview:btnBack];
UIBarButtonItem *bbiLeft=[[UIBarButtonItem alloc] initWithCustomView:backModifiedView];
self.navigationItem.leftBarButtonItem=bbiLeft;