У меня есть следующее UIBarButton Пункт:UIBarButtonItem Название Изменение
UIButton *backButton = [[UIButton alloc] initWithFrame:CGRectMake(0.0f, 100.0f, 45.0f, 30.0f)];
[backButton setBackgroundImage:backButtonImage forState:UIControlStateNormal];
[backButton addTarget:self action:@selector(back:) forControlEvents:UIControlEventTouchDown];
backButton.titleLabel.text = @"Back";
backButton.titleLabel.font = [UIFont fontWithName:@"texgyreadventor-regular.otf" size:20.0f];
backButton.titleLabel.textColor = [UIColor whiteColor];
UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
_backItem = backItem;
В каком-то другом методе, я поставил его, чтобы быть на панели навигации следующим образом:
[self.navigationItem setLeftBarButtonItem:_backItem];
До сих пор, все работает, как ожидалось. Но прямо перед тем, как добавить его в панель навигации сверху, я хотел бы изменить его текст. Вот один вещи, которые я пробовал делать:
self.navigationItem.leftBarButtonItem.title = @"NEW TITLE";
Это, однако, не работает. Как я могу добавить заголовок во время выполнения на лету?
Do '[self setNeedsDisplay]' – Legolas
@Legolas Для этого нужен метод 'drawRect' ... Итак, о чем вы говорите? – darksky
Другим решением является то, что вы можете использовать NSMutableString по всему миру (уровень класса). Поместите «Назад» в строку и перейдите на ярлык кнопки, и перед добавлением изменения строка заменит строку «Новое название». –