2

У меня есть этот код, который изменяет заднюю кнопку моего UINavigationBarвозврата кнопки из UINavigationBar

// Set the custom back button 
UIImage *buttonImage = [UIImage imageNamed:@"backag.png"]; 

//create the button and assign the image 
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
[button setImage:buttonImage forState:UIControlStateNormal]; 
[button setImage:[UIImage imageNamed:@"selback.png"] forState:UIControlStateHighlighted]; 
button.adjustsImageWhenDisabled = NO; 


//set the frame of the button to the size of the image (see note below) 
button.frame = CGRectMake(0, 0, 30, 30); 

[button addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside]; 

//create a UIBarButtonItem with the button as a custom view 
UIBarButtonItem *customBarItem = [[UIBarButtonItem alloc] initWithCustomView:button]; 
self.navigationItem.leftBarButtonItem = customBarItem; 

// Cleanup 
[customBarItem release]; 

Если я положил его в методе viewDidLoad он прекрасно работает. Однако, когда я загружаю следующий вид, появляется старая кнопка стиля. Чтобы исправить это, я попытался поместить этот код в метод viewDidLoad следующего вида, но тогда ни одна кнопка не видна.

Любые идеи относительно того, что может быть причиной этого?

Спасибо!

ответ

1

я использовал тис код в обоих зрения, и это работало нормально ...

// добавить следующий код в ваш метод viewDidLoad как просматривать в ...

UIButton *leftButton1 = [UIButton buttonWithType:UIButtonTypeCustom];  
[leftButton1 setImage:[UIImage imageNamed:@"Viewone.png"] forState:UIControlStateNormal];  
leftButton1.frame = CGRectMake(0, 0, 30, 30); 
[leftButton1 addTarget:self action:@selector(yourclickevent) forControlEvents:UIControlEventTouchUpInside];   
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:leftButton1]; 
[leftButton1 release]; 

UIButton *leftButton = [UIButton buttonWithType:UIButtonTypeCustom];  
[leftButton setImage:[UIImage imageNamed:@"ViewSecond.png"] forState:UIControlStateNormal];  
leftButton.frame = CGRectMake(0, 0, 30, 30); 
[leftButton addTarget:self action:@selector(yourclickevent) forControlEvents:UIControlEventTouchUpInside];   
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:leftButton]; 
[leftButton release]; 

Надежда, это поможет вам ... наслаждаться ..

2

Применить тот же код в

-(void)viewDidAppear:(BOOL)animated 
{ 

} 
0

вы должны убедиться, что вы установите hidesBackButton про perty on navigationItem:

// Setup custom back button 
self.navigationItem.hidesBackButton = YES; 
Смежные вопросы