2011-10-27 2 views
0

사용자 지정 배경 이미지 및 제목을 사용하여 사용자 지정 UINavigationItem을 만듭니다. 이미지가 표시되지만 제목은 표시되지 않습니다. 무엇이 잘못 될 수 있습니까? 난 당신이 제거해야합니다 생각사용자 지정 UINavigationItem에 대한 제목이 표시되지 않습니다.

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
[button setImage:[UIImage imageNamed:@"bar_button.png"] forState:UIControlStateNormal]; 
[button setBackgroundImage:[UIImage imageNamed:@"bar_button_black.png"] forState:UIControlStateSelected]; 
[button setBackgroundImage:[UIImage imageNamed:@"bar_button_black.png"] forState:UIControlStateHighlighted]; 
[button setTitle:@"Cancel" forState:UIControlStateNormal]; 
[button setTitle:@"Cancel" forState:UIControlStateSelected]; 
[button setTitle:@"Cancel" forState:UIControlStateHighlighted]; 
[button addTarget:self action:@selector(closeButtonClicked) forControlEvents:UIControlEventTouchUpInside]; 

[button setFrame:CGRectMake(0, 0, 49, 30)]; 
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button]; 

답변

0

당신은 이미지를 설정해야합니다. 이

[button setImage:[UIImage imageNamed:@"bar_button.png"] forState:UIControlStateNormal]; 

같은 이미지를 설정하면 제목이 아마도 이미지를 제거하면 다음 버튼을 잘못 볼 것 같은 옵션을 선택하지 않습니다이

[button setBackgroundImage:[UIImage imageNamed:@"bar_button.png"] forState:UIControlStateNormal]; 
+0

알았습니다. 감사! – Misha

0

: 내가 이런 식으로하고있어 그 후

[button setImage:[UIImage imageNamed:@"bar_button.png"] forState:UIControlStateNormal]; 

을, 제목은

0

을 표시 하나이 줄을 제거합니다

[button setImage:[UIImage imageNamed:@"bar_button.png"] forState:UIControlStateNormal]; 

또는 제목 색상을 다른 색상으로 변경할 수 있습니다 .i 문제가 해결 될 수 있기를 바랍니다. .

DrakgrayColor 또는 이미지 색상을 극복 할 수있는 다른 색상으로 만드십시오.

+0

처럼

세트가 표시되지 않습니다. 제목 색상을 변경하는 것이 좋습니다. – jrturton

+0

색상 변경이 도움이되지 않았습니다. – Misha

0

확인. 해결 방법을 찾을 수 그러나 나는 그것이 수 있는지 여부를 확실하지 않다 : backgroundImage의 직접하지

UIBarButtonItem *closeButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Close",@"Close") style:UIBarButtonItemStylePlain target:self action:@selector(closeButtonClicked)]; 
[self.navigationItem setLeftBarButtonItem:closeButton]; 

for (UIView *view in self.navigationController.navigationBar.subviews) {   
    if ([[[view class] description] isEqualToString:@"UINavigationButton"]) { 
     UINavigationButton *button = {(UINavigationButton *)view}; 
     [button setBackgroundImage:[UIImage imageNamed:@"bar_button.png"] forState:UIControlStateNormal]; 
     [button setBackgroundImage:[UIImage imageNamed:@"bar_button_black.png"] forState:UIControlStateSelected]; 
     [button setBackgroundImage:[UIImage imageNamed:@"bar_button_black.png"] forState:UIControlStateHighlighted]; 

    } 
} 
+0

UINavigationButton은 UINavigationBar의 전용 하위 클래스이며 액세스 할 수 없습니다. – ytur

관련 문제