2012-07-03 2 views
1

У меня есть приложение UITableView, и я не могу установить backBarButtonItem правильно. Кнопка «Назад» - кнопка, которая появляется, когда я выбираю какой-либо элемент, вызов второго вида методом didSelectRowAtIndexPath. Когда я пытаюсь установить это следующим образом:Невозможно установить изображение в обратную сторонуBarButtonItem

UIButton *back1=[UIButton buttonWithType:UIButtonTypeCustom]; 
    [back1 setFrame:CGRectMake(10.0, 2.0, 45.0, 40.0)]; 
    [back1 addTarget:nil action:NULL forControlEvents:UIControlEventTouchUpInside]; 
    [back1 setImage:[UIImage imageNamed:@"back_button.png"] forState:UIControlStateNormal]; 
    UIBarButtonItem *back = [[UIBarButtonItem alloc]initWithCustomView:back1]; 
    self.navigationItem.backBarButtonItem = back; 

Существует только назад кнопка со стилем по умолчанию, и как-то с названием моего окна TableView контроллера.

Когда я поставил его так:

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] 
           initWithImage:[UIImage imageNamed:@"back_button.png"] 
           style:UIBarButtonItemStyleBordered 
           target:nil 
           action:nil]; 

self.navigationItem.backBarButtonItem = backButton; 

Существует образ, но это выглядит как «вставить» кнопку по умолчанию обратно, не выглядит хорошо на всех.

Пожалуйста, помогите мне .. Я пробовал много способов решить эту проблему, но во многих случаях есть только кнопка «Назад» с названием «Продукты» (есть заголовок, который появляется поверх панели навигации в моем UITableView). Любая помощь будет оценена!

ответ

0

Вы должны назначить его self.navigationItem.leftBarButtonItem.

self.navigationItem.leftBarButtonItem = backButton; 
+0

Im уже есть один .. кнопка плюс в левом верхнем углу. Также с пользовательским изображением. –

2
UIImage *buttonImage = [UIImage imageNamed:@"back_button.png"]; 
    UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
    [backButton setBackgroundImage:buttonImage forState:UIControlStateNormal]; 
    [backButton setTitle:@"Back" forState:UIControlStateNormal]; 
    backButton.font = [UIFont boldSystemFontOfSize:12]; 
backButton.frame = CGRectMake(0, 0, buttonImage.size.width, buttonImage.size.height); 
[backButton addTarget:self action:@selector(showMeter) 
     forControlEvents:UIControlEventTouchUpInside]; 

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] 
     initWithCustomView:backButton]; 
1
//Create resizable images 
UIImage *myButton = [[UIImage imageNamed:@"yourButton"] 
     resizableImageWithCapInsets:UIEdgeInsetsMake(0, 5, 0, 5)]; 


//Set the background image for *all* UIBackBarButtons 
[[UIBarButtonItem appearance] setBackgroundImage:myButton forState:UIControlStateNormal 
    barMetrics:UIBarMetricsDefault]; 
+0

Спасибо, Джеймс, но это все та же проблема ( –

+0

Это вообще изменило изображение – James

+0

Ну, мне интересно, почему это происходит, но оно заменяет название для кнопки возврата (от «Назад» до «Продукты», «Продукты» отображается в центре моей верхней навигационной панели) –

Смежные вопросы