2013-10-24 1 views
0

По умолчанию кнопка «Назад» использует в качестве текста на ней заголовок диспетчера представлений. Могу ли я изменить текст на задней кнопке без изменения заголовка контроллера? Мне нужно это, потому что у меня есть контроллер представления, название которого слишком длинное для отображения, и в этом случае я хотел бы отобразить только «Назад» в качестве заголовка для кнопки «Назад».Невозможно изменить текст кнопки на задней панели

Я попытался следующие, не работали:

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil]; 

Спасибо.

+0

проблема в вашей цели .. –

+0

целевой набор должен быть сам, а не nil –

ответ

0

Попробуйте с этим кодом:

UIButton *aCustomBackButton = [UIButton buttonWithType:101]; 
    [aCustomBackButton addTarget:self action:@selector(backAction) forControlEvents:UIControlEventTouchUpInside]; 
    [aCustomBackButton setTitle:@"customBack" forState:UIControlStateNormal]; 
    UIBarButtonItem *aLeftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:aCustomBackButton]; 
    self.navigationItem.leftBarButtonItem = aLeftBarButtonItem; 

для IOS 7 использования ниже фрагмент кода:

UIButton *aCustomBackButton = [UIButton buttonWithType:101]; 
[aCustomBackButton addTarget:self action:@selector(backAction) forControlEvents:UIControlEventTouchUpInside]; 
[aCustomBackButton setTitle:@"customBack" forState:UIControlStateNormal]; 

UIImage *backArrow = [UIImage imageNamed:@"backArrow"]; 
UIImageView *imageView = [[UIImageView alloc]initWithImage:backArrow]; 
[imageView setFrame:CGRectMake(kScreenOrigin, topMargin, backArrow.size.width, backArrow.size.height)]; 
[aCustomBackButton addSubview:imageView]; 

UIBarButtonItem *aNegativeSpacer = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil]; 
aNegativeSpacer.width = -8.0; 
UIBarButtonItem *aLeftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:aCustomBackButton]; 
self.navigationItem.leftBarButtonItems = @[aNegativeSpacer, aLeftBarButtonItem]; 
+0

Без изменений..Title все тот же .. – user2885928

+0

Странно .... Я обновил свой ответ. Попробуйте с этим, и он должен работать. – Abhinav

+0

@ user2885928 какая проблема с вышеуказанным кодом и, пожалуйста, не используйте форму сортировки слова, это не чат, пожалуйста, используйте правильное написание для него. whatis ptr.? –

0

Попробуйте с этим кодом

UIBarButtonItem *back = [[UIBarButtonItem alloc] initWithTitle:@"NewTitle" 
                 style:UIBarButtonItemStylePlain 
                 target:[self navigationController] 
                 action:@selector(popViewControllerAnimated:) 
+0

Не работает .... – user2885928