2012-02-26 8 views
0

다음 문제가 발생했습니다.장치에서 UIBarButtonItem 모양이 작동하지 않습니다.

내 응용 프로그램의 모양을 사용자 정의하고 있습니다. 이제 탐색 바에서 백 버튼의 배경을 변경하고 싶습니다. 시뮬레이터에서 코드를 실행하면 작동합니다. 하지만 장치에서 실행하면 아무 것도 변경되지 않습니다. 이것이 어떻게 가능한지?

나는 이미지 파일의 맞춤법, 특히 모자를 확인 내 아이폰 4S 아이폰 OS 5.0.1

#import "test.h" 
#import "InfoButton.h" 

@implementation test 

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     // Custom initialization 
    } 
    return self; 
} 

- (void)viewDidLoad { 
    if([self.navigationController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]) { 
     //iOS 5 new UINavigationBar custom background 
     UIImage *navi = [UIImage imageNamed:@"navbar.png"]; 
     [self.navigationController.navigationBar setBackgroundImage:navi forBarMetrics: UIBarMetricsDefault]; 
     UIImage *toolbarBackButtonBackgroundPortrait = [[UIImage imageNamed:@"nav_back.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 17, 0, 6)]; 

     [[UIBarButtonItem appearance] setBackButtonBackgroundImage:toolbarBackButtonBackgroundPortrait forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 
    } 
    [super viewDidLoad]; 
    UIButton * infoDarkButtonType = [[UIButton buttonWithType:UIButtonTypeInfoLight] retain]; 
    infoDarkButtonType.frame = CGRectMake(0.0, 0.0, 30.0, 25.0); 
    infoDarkButtonType.backgroundColor = [UIColor clearColor]; 
    [infoDarkButtonType addTarget:self action:@selector(infoButtonPressed:) forControlEvents:UIControlEventTouchUpInside]; 
    UIBarButtonItem *infoButton = [[UIBarButtonItem alloc] initWithCustomView:infoDarkButtonType]; 
    self.navigationItem.rightBarButtonItem = infoButton; 
    [infoDarkButtonType release]; 
    [infoButton release]; 
} 

답변

1

에 응용 프로그램을 실행 해요. 나는 시뮬레이터가 대문자를 무시하고 장치가 대소 문자를 구분하는 동안 파일을로드한다는 것을 알았다. 나는 몇 번이나 나 혼자 했어.

+0

대단히 감사합니다. nav_bar.PNG에 저장 했으므로 이제 작동합니다! – AmiiQo

1

같은 문제가있었습니다. 내 이미지의 이름은 "add.png"이며 코드에서 [UIImage imageNamed : @ "add.png"]를 사용했습니다. 이 시뮬레이터에서 작동하는 동안, 그것은 장치에 아니었다.

파일 이름을 "Add.png"(대문자 A)로 변경하고 코드를 [UIImage imageNamed : @ "Add.png"]로 변경했습니다. 이 문제가 해결되어 시뮬레이터와 장치에서 모두 작동하지 않습니다. 이상한 점 :/

관련 문제