Як змінити назву кнопки "назад" на панелі навігації


224

В даний час значенням кнопки лівої панелі за замовчуванням є назва перегляду, який завантажив поточне, іншими словами - подання, яке відображатиметься при натисканні кнопки (кнопка "назад").

Я хочу змінити текст, показаний на кнопці, на щось інше.

Я спробував ввести наступний рядок коду в метод viewDidLoad контролера перегляду, але, схоже, він не працює.

self.navigationItem.leftBarButtonItem.title = @"Log Out";

Що я повинен зробити?

Дякую.

Відповіді:


345

Це слід розмістити в методі, який викликає ViewController під назвою "NewTitle". Прямо перед заявою push або popViewController.

UIBarButtonItem *newBackButton = 
        [[UIBarButtonItem alloc] initWithTitle:@"NewTitle" 
                                         style:UIBarButtonItemStyleBordered 
                                        target:nil 
                                        action:nil];
[[self navigationItem] setBackBarButtonItem:newBackButton];
[newBackButton release];

47
Якщо у контролері дочірнього перегляду, викликати це з контролера дочірнього перегляду не буде працювати. Ви повинні зателефонувати цьому з батьківського контролера перегляду, перебуваючи в контролері дочірнього перегляду.
Алекс Рейнольдс

2
Для зміни кнопки "назад" для мого контролера перегляду третього рівня (другий натиск) мені довелося використовувати наступний рядок замість вищевказаної відповіді: [[self.parentViewController navigationItem] setBackBarButtonItem: newBackButton]; Чи я щось роблю не так?
JonB

4
Джордан каже, що "[додав] трохи більше ясності щодо того, куди поставити код". Тут ще більше ясності: поставте його в перший (він же батьківський) контролер, безпосередньо перед викликом, щоб натиснути другий (він же дочірній) контролер.
benvolioT

1
ви можете створити користувацький BaseViewController і помістити його в-viewDidLoad:
ArtFeel

2
Вам не доведеться робити це безпосередньо перед натисканням чи попсом. Ви можете це зробити в viewDidLoad або loadView або де б ви не встановили заголовок та інші властивості для цього подання. Відповідь Віктора Богдана нижче зрозуміліша, ІМХО.
Джо Строут

98

У ChildVC це працювало для мене ...

self.navigationController.navigationBar.topItem.title = @"Back";

Працює і в Свіфті!

self.navigationController!.navigationBar.topItem!.title = "Back"

4
Тестовано та перевірено на iOS 7 у Xcode 5.0.2. Це змінює заголовок попереднього екрана на Назад, коли ви повернетесь до нього.
Олексій Заватоне

Найпростіше рішення. Працює як на iOS 6, так і 7. Помістіть у базу UIViewController і готово. Набагато краще, ніж рішення IB або налаштування в штовхаючому Vc.
Ерік Чен

46
він змінює назву попереднього контролера перегляду, ось у чому проблема в цьому рішенні
Микита

2
@Nikita, Ви можете повернути плитку назад у viewWillDisappear
Dan Beaulieu

81

Ось документація для backBarButtonItem :

"Коли цей елемент навігації знаходиться безпосередньо під головним елементом у стеку, контролер навігації отримує кнопку" Назад "для панелі навігації з цього елемента навігації. [...] Якщо ви хочете вказати спеціальне зображення або назву для кнопки" Назад ". , ви можете призначити для цього ресурсу власний елемент кнопки панелі (зі своїм власним заголовком чи зображенням). "

Перегляд контролера A ( "батьківський" контролер подання):

self.title = @"Really Long Title";
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Short" style:UIBarButtonItemStyleBordered target:nil action:nil];
self.navigationItem.backBarButtonItem = backButton;

Якщо будь-який інший контролер виду B знаходиться поверх навігаційного стеку, а А прямо під ним, кнопка B повернення матиме назву "Коротка" .


4
складна частина полягає в тому, що вам потрібно встановити кнопку "назад" в контролері подання PARENT, а не дочірньому режимі. Витративши годину, я просто зрозумів це.
Меркуріал

56

в Xcode 4.5 за допомогою раскадровки, на сьогоднішній день найпростіше рішення, яке я знайшов, коли значення кнопки "Назад" не потрібно динамічно змінювати, - це використовувати поле "Кнопка назад", пов'язане з пунктом навігації контролера перегляду, до якого ви знаходитесь хочу, щоб кнопка «Назад» сказала щось інше.

наприклад, на скріншоті нижче, я хочу, щоб кнопка "Назад" для контролерів перегляду, які я натискаю, мати "Назад" як заголовок кнопки "Назад".

введіть тут опис зображення

Звичайно, це не спрацює, якщо вам потрібна кнопка "Назад", щоб кожен раз говорити щось дещо інше ... для цього є всі інші рішення.


У початковому запитанні нічого не було сказано про використання розгорткових дощок, тому, безумовно, добре, що це не прийнята відповідь, проте правильне рішення це стосується розробки на основі розкадровки.
villapossu

42

Я знаю, питання дуже старе, але я знайшов приємне рішення.

UIBarButtonItem *barButton = [[UIBarButtonItem alloc] init];
barButton.title = @"Custom Title";
self.navigationController.navigationBar.topItem.backBarButtonItem = barButton;

Працює від childView! Тестовано з iOS 7.


Це, здається, працює на одному рівні. Для мене це не працює для дитини. iOS 8.
narco

26

Можливо, я надто спрощений, але з документації Apple формулювання таке:

Якщо елемент кнопки " Власна панель" не визначений жодним із контролерів перегляду, використовується кнопка повернення за замовчуванням і його заголовок встановлюється як значення властивості заголовка попереднього контролера перегляду, тобто контролер перегляду на один рівень вниз стек.

Рішення, позначене правильним вище, встановлює елемент батьківського контролера за замовчуванням. Це правильна відповідь, але я self.titleвирішую питання, змінивши властивість UIViewController прямо перед натисканням нового контролера на стек NavigationController.

Це автоматично оновлює назву кнопки "Назад" на наступному контролері, і поки ви self.titleповернетесь до того, що має бути, viewWillAppearя не можу побачити, що цей метод викликає занадто багато проблем.


19

Ця робота краще для мене. Спробуйте:

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

19

У Swift / iOS8 для мене працювали такі:

let backButton = UIBarButtonItem(
      title: "Back Button Text",
      style: UIBarButtonItemStyle.Bordered,
      target: nil,
      action: nil
);

self.navigationController.navigationBar.topItem.backBarButtonItem = backButton;

Походить від відповіді Феліпе.


синтаксис swift 1.1self.navigationController?.navigationBar.topItem?.backBarButtonItem
Воррен Бертон

3
Стиль повинен бути UIBarButtonItemStyle.Plain
Micro

2
Дякую за це Що таке справді жалюгідний API. І представник UIKit взагалі. Між навігаційними панелями та смугами стану в iOS, дивно, що ми все ще розробляємо для цієї проклятої платформи. Дякую дитячий ісус за Stack Overflow та його учасників!
Уомбл

@Wobmle: Ви повинні розробляти для Android кілька місяців;)
fl034

17

Гаразд, ось шлях. Якщо у вас є контролер подання "перший" і ви переходите до іншого контролера перегляду "другий", натискаючи кнопку або інше, вам потрібно виконати певну роботу. Спочатку потрібно створити BarButtonItem у методі ViewDidLoad контролера перегляду «другий»;

    UIBarButtonItem *btnBack = [[UIBarButtonItem alloc]
                                   initWithTitle:@"Back" 
                                   style:UIBarButtonItemStyleBordered
                                   target:self
                                   action:@selector(OnClick_btnBack:)];
    self.navigationItem.leftBarButtonItem = btnBack;
    [btnBack release];

Після цього вам потрібно написати код для дії "btnBack" у тому ж .m файлі, як цей;

-(IBAction)OnClick_btnBack:(id)sender  {
      [self.navigationController popViewControllerAnimated:YES];
    //[self.navigationController pushViewController:self.navigationController.parentViewController animated:YES];
}

Це все.


2
A leftBarButtonItemне має вигляду backBarButtonItem, якщо це важливо в дизайні програми.
Алекс Рейнольдс

1
З опублікованих рішень (велике спасибі) це, здається, працює, хоча, як Алекс заявив вище, ліва кнопка панелі не схожа на задній елемент рядка. Як я можу зробити так, щоб він виглядав як задня панель елемента ???
Дейл

17

У мене був контролер подання батьків з дійсно довгим заголовком. Це призвело до того, що текст кнопки "назад" перетікає в заголовок дочірнього контролера.

Спробувавши купу різних рішень, це я закінчила (розширивши підхід @ john.k.doe):

Використовуючи Xcode 7.2, Swift 2

  1. На Дошці розкадрування додайте Navigation Itemдо сцени контролера батьківського перегляду (не дочірнього ПК)

елемент навігації

  1. На Attributes Inspectorновому Navigation Itemвведіть у полі spaceсимвол Back Button. Детальніше про це пізніше.

елемент навігації у ієрархії перегляду

додайте пробільний символ у поле "Назад"

  1. У контролер перегляду батьків виберіть наступний код:

фрагмент:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    switch segue.destinationViewController {
    case is ChildViewController:
        navigationItem.backBarButtonItem?.title = ""
    default:
        navigationItem.backBarButtonItem?.title = "Full Parent Title"
    }
}

Пояснення:

Різновид назад кнопки належить батьківському контролеру подання. Navigation ItemДає вам ручку на кнопку назад, так що ви можете встановити заголовок в коді або в розкадруванні.

Примітка:

Якщо ви залишите Navigation Item Back Buttonтекст як порожній рядок за замовчуванням, назва кнопки "Назад" стане "Назад".

Інші підходи працюють, навіщо використовувати цей?

Незважаючи на те, що можна змінити назву кнопки "назад" на дочірньому контролері, це було завдання отримати ручку до неї, поки вона вже коротко не блиснула на екрані.

Деякі з підходів будують нову кнопку назад і замінюють існуючу. Я впевнений, що це працює, і, мабуть, необхідно в деяких випадках використання. Але я вважаю за краще використовувати існуючі API, коли це можливо.

Зміна titleбатьківського контролера подання - найшвидше рішення для деяких ситуацій. Однак це змінює назву батьків, тому вам доведеться керувати станом. Речі також стають безладними, Tab Bar Controllerоскільки зміни заголовка викликають побічні ефекти із Tab Bar Itemзаголовками.


10

Для тих, хто використовує мовленнєві дошки, просто виберіть батьківський (не той, який містить цільовий вигляд) кадр контролера перегляду (не забудьте натиснути праворуч на панелі навігації, а потім відкрити інспектор атрибутів, де ви знайдете три входи форми. Третій " кнопка "назад" - це те, що ми шукаємо.


4
це найкраще рішення, якщо вас не хвилює локалізація.
MiQUEL

7

Швидка версія:

У вашій дитині ViewController:

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)
    self.navigationController?.navigationBar.backItem?.title = "TEXT"
}

це фактично змінить назву попереднього контролера перегляду в стеці на "TEXT", що є менш ніж ідеальним.
гравітрон

6

Ось ще один спосіб зробити це.

У контролері батьківського перегляду реалізуйте такий спосіб:

- (void) setBackBarButtonItemTitle:(NSString *)newTitle {
  self.navigationItem.backBarButtonItem.title = newTitle;
}

У контролері подання дитини, коли ви хочете змінити назву, це спрацює:

NSArray *viewControllerArray = [self.navigationController viewControllers];
int parentViewControllerIndex = [viewControllerArray count] - 2;
[[viewControllerArray objectAtIndex:parentViewControllerIndex] setBackBarButtonItemTitle:@"New Title"];

Мені ніколи не вдалося змусити parentViewControllerмайно працювати:

[(ParentViewController *)(self.navigationController.parentViewController) setBackBarButtonItemTitle:@"New Title"];

Я не знаю, чи це помилка чи я неправильно її використовую. Але захоплення контролера перегляду другого до останнього в viewControllersмасиві вказує на батьківський контролер подання, і я можу правильно викликати батьківські методи з цією посиланням.


6

гаразд. Я особисто ненавидів усі ці варіанти. Тому я придумав своє.

На основі інформації, яку я бачив. Здається, що контролер попереднього перегляду керує власною кнопкою «Назад», яка буде представлена ​​на натиснутому контролері подання.

Я створив метод Lazy Load для navigationItem на контролері, який хоче змінити кнопку "Назад".

Шахта є контролером запрошення покупця

Запросити покупця - це текст, встановлений за замовчуванням.

але кнопкою "Назад" потрібно було запросити

Ось код, який я використав для створення кнопки "назад".

Я розмістив цей код у верхній частині файлу Implementatio (.m) контролера, і він автоматично замінив метод супер.

- (UINavigationItem *)navigationItem{
    UINavigationItem *item = [super navigationItem];
    if (item != nil && item.backBarButtonItem == nil)
    {
        item.backBarButtonItem = [[[UIBarButtonItem alloc] init] autorelease];
        item.backBarButtonItem.title = @"Invite";
    }

    return item;
}

Я вважаю, що це набагато більш елегантний спосіб досягти цього.

Я розміщую цей код в одному місці, і він автоматично заповнюється при необхідності.

Не потрібно телефонувати до коду перед кожним запитом.

Сподіваюсь, це допомагає


5
UIBarButtonItem *btnBack = [[UIBarButtonItem alloc]
                                   initWithTitle:@"Back" 
                                   style:UIBarButtonItemStyleBordered
                                   target:self
                                   action:@selector(OnClick_btnBack:)];
    self.navigationItem.leftBarButtonItem = btnBack;
    [btnBack release];

5

Ось відповідь:

У viewDidAppear:animated(НЕ в viewDidLoad) виконайте наступне

- (void)viewDidAppear:(BOOL)animated
{
     [self.navigationController.navigationBar.backItem setTitle:@"anything"];

     // then call the super
     [super viewDidAppear:animated];
}

Це якщо ви хочете зберегти форму кнопки "назад".


Непогано, окрім того, що вони можуть бачити, як він міняє назви. Я спробував у viewWillAppear, і це не працює.
Травіс М.

5

Жодне з пояснених тут рішень не працювало для мене. Отже, що я зробив, було видалити заголовок зі сцени, звідки я прийшов, таким чином:

self.title = @"";

Отже, коли представлена ​​нова сцена, зворотній текст не з’являється.

Я абсолютно погоджуюся, що це зовсім не чітке рішення, але працював, і жодне з пояснених не працювало на мене.


Людина, я вам повинен сказати, це 2017 рік, і все ще біль у $ $ обробляти кнопку назад. Ваш метод працював на мене, і я закінчився знаком "<", хоча хотів слово "Скасувати", але я погоджуся на те, що отримав. :)
AnBisw

5

Я виявив, що найкраще змінити заголовок поточного контролера перегляду в навігаційному стеку на потрібний текст кнопки "назад", перш ніж натиснути на наступний контролер перегляду.

Наприклад

self.navigationItem.title = @"Desired back button text";
[self.navigationController pushViewController:QAVC animated:NO];

Потім у viewDidAppear поверніть заголовок до потрібного заголовка для вихідного VC. Вуаля!


5

Для Swift:

    // Rename back button
    let backButton = UIBarButtonItem(
        title: "Back",
        style: UIBarButtonItemStyle.Plain, // Note: .Bordered is deprecated
        target: nil,
        action: nil
    )
    self.navigationController!.navigationBar.topItem!.backBarButtonItem = backButton

4

Я виявив, що найпростіший спосіб змінити назву кнопки "Назад" - встановити заголовок контролерів перегляду на заголовок кнопки "назад", а потім замінити titleView в навігаційному елементі контролерів перегляду на власну мітку на справжню назва.

Подобається це:

CustomViewController.m

@implementation CustomViewController

- (NSString*)title {
    return @"Back Button Title";
}

- (void)viewDidLoad {
    [super viewDidLoad];
    UILabel* customTitleView = [[UILabel alloc] initWithFrame:CGRectZero];
    customTitleView.text = @"Navigation Bar Title";
    customTitleView.font = [UIFont boldSystemFontOfSize:20];
    customTitleView.backgroundColor = [UIColor clearColor];
    customTitleView.textColor = [UIColor whiteColor];
    customTitleView.shadowColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.5];
    customTitleView.shadowOffset = CGSizeMake(0, -1);

    [customTitleView sizeToFit];

    self.navigationItem.titleView = [customTitleView autorelease];
}

@end

Це зробить ваш заголовок у UINavigationBar так, ніби він був рідним. Надання контролеру огляду можливості мати відокремлений заголовок та назву кнопки "назад".

Що стосується контролерів A і B, A відповідає за те, щоб сказати, як повинна виглядати кнопка "Назад", а на дисплеї відображається B.

РЕДАКТУВАННЯ: Це також підтримує зовнішній вигляд кнопки "Назад" (елемент кнопки стрілки ліворуч).


4

Цей код також працює. Помістіть це на кореневий контролер навігаційного контролера:

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

4

Я новачок в iOS, але я надам свою дуже просту відповідь про переосмислення класу навігаційного контролера. У мене є просте переосмислення методів push і pop і зберегти заголовок попереднього контролера перегляду. Вибачте за вставку в блок js. Був мало заплутаний, як пропустити це в звичайний блок коду.

#import "MyCustomNavController.h"


@implementation MyCustomNavController {

    NSString *_savedTitle;
}

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated withBackBtnTitle:(NSString *)title {
    _savedTitle = self.topViewController.title;

    self.topViewController.title = title;
    [super pushViewController:viewController animated:animated];
}

- (UIViewController *)popViewControllerAnimated:(BOOL)animated {

    [self.viewControllers objectAtIndex:self.viewControllers.count - 2].title = _savedTitle;
    return [super popViewControllerAnimated:animated];
}

@end


4

self.navigationController.navigationBar.backItem.title = @"TEXT";

І в Свіфті:

self.navigationController?.navigationBar.backItem?.title = "TEXT"

3
self.navigationItem.backBarButtonItem = [[[UIBarButtonItem alloc] 
                                              initWithTitle:@"Log out" 
                                              style:UIBarButtonItemStyleDone 
                                              target:nil 
                                              action:nil] autorelease];

ви можете розмістити його куди завгодно у коді в батьківському контролері, що дозволяє вам відрізняти зворотні кнопки для різних дитячих поглядів.


3

Більшість рішень вбиває оригінальний стиль BackButton (Ліва кнопка зі стрілкою), додаючи звичайну кнопку з потрібним заголовком.
Отже, щоб зберегти оригінальний стиль, є два способи:
1-й: Використовувати незадокументований стиль кнопки (110 або щось подібне), який я вважаю за краще не робити. Але якщо ви хочете, ви можете знайти, як це зробити тут, на stackoverflow.
2-е: Використовувати ідею I Trenskow. Мені це сподобалось і я використовую його трохи змінив.
Замість переопределення - (NSString *) заголовка я вирішив зберегти оригінальний заголовок наступним чином (що дозволяє мені використовувати заголовки ніб, а також дану назву в стані btw push).

- (void)viewDidLoad {
    [super viewDidLoad];
    static NSString * backButtonTitle=@"Back"; //or whatever u want

    if (![self.title isEqualToString:backButtonTitle]){

        UILabel* customTitleView = [[UILabel alloc] initWithFrame:CGRectZero];
        customTitleView.text = self.title; // original title
        customTitleView.font = [UIFont boldSystemFontOfSize:20];
        customTitleView.backgroundColor = [UIColor clearColor];
        customTitleView.textColor = [UIColor whiteColor];
        customTitleView.shadowColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.5];
        customTitleView.shadowOffset = CGSizeMake(0, -1);

        [customTitleView sizeToFit];

        self.navigationItem.titleView = [customTitleView autorelease];
        self.title = backButtonTitle; 
    }
}

Це рішення працює добре, і воно виглядає як рідне. Також, якщо використовувати його в методі viewDidLoad, він запобігає виконанню більше 1 разу.
Також я спробував рішення Jessedc, але це виглядає погано. Це спричиняє помітну зміну заголовка користувача на ходу від оригінального до потрібного та назад.


2

Це працює для мене як "спрощена" версія попередніх опублікованих відповідей.

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] init];

backButton.title = @"Go Back";

self.navigationItem.backBarButtonItem = backButton;

Не забудьте вставити код всередині батьківського контролера подання (наприклад, у представлення, у якому вигляд таблиці або UITableViewController), а не в дочірній або детальний вигляд (наприклад, UIViewController).

Ви можете легко локалізувати рядок кнопки "Назад" таким чином:

backButton.title = NSLocalizedString(@"Back Title", nil);

2

У нас є два A і B VC.

Якщо ви хочете змінити назву на B, напишіть цей код у A

- (IBAction)goToBViewController:(UIButton *)sender {

    BViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"VC"];
    UIBarButtonItem *newBackButton = [[UIBarButtonItem alloc] initWithTitle:@"Your title here"
                                                                  style:UIBarButtonItemStylePlain
                                                                 target:nil
                                                                 action:nil];
    [[self navigationItem] setBackBarButtonItem:newBackButton];
    [self.navigationController pushViewController:vc animated:NO];

}

Швидкий 4.1 Xcode 9.4

let secondViewController = self.storyboard?.instantiateViewController(withIdentifier: "VC"])
let newBackButton = UIBarButtonItem.init(title: "Your title here", style: UIBarButtonItemStyle.plain, target: nil, action: nil)
navigationController?.navigationBar.topItem?.backBarButtonItem = newBackButton
navigationController?.pushViewController(secondViewController!, animated: true)

1

Відповідь Стен була найкращою. Але також є проблема, коли ви використовуєте контролер з панеллю вкладок і змінюєте заголовок контролера, ви також можете змінити назву панелі вкладок. Отже, найкраща відповідь - змінити лише view_controller.navigationItem.title і використовувати view_controller.navigationItem .тит у функції. Відповідь тут: (За допомогою ARC та додайте їх у перегляд viewDidLoad)

  static NSString * back_button_title=@"Back"; //or whatever u want
  if (![view_controller.navigationItem.title isEqualToString:back_button_title]){
    UILabel* custom_title_view = [[UILabel alloc] initWithFrame:CGRectZero];
    custom_title_view.text = view_controller.navigationItem.title; // original title
    custom_title_view.font = [UIFont boldSystemFontOfSize:20];
    custom_title_view.backgroundColor = [UIColor clearColor];
    custom_title_view.textColor = [UIColor whiteColor];
    custom_title_view.shadowColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.5];
    custom_title_view.shadowOffset = CGSizeMake(0, -1);

    [custom_title_view sizeToFit];

    view_controller.navigationItem.titleView = custom_title_view;
    view_controller.navigationItem.title = back_button_title;
  }

Власне, я роблю це такою функцією, просто маю функцію з одним кодом рядка у viewDidLoad.

+ (void)makeSubViewHaveBackButton:(UIViewController*) view_controller{
  static NSString * back_button_title=@"Back"; //or whatever u want
  if (![view_controller.navigationItem.title isEqualToString:back_button_title]){
    UILabel* custom_title_view = [[UILabel alloc] initWithFrame:CGRectZero];
    custom_title_view.text = view_controller.navigationItem.title; // original title
    custom_title_view.font = [UIFont boldSystemFontOfSize:20];
    custom_title_view.backgroundColor = [UIColor clearColor];
    custom_title_view.textColor = [UIColor whiteColor];
    custom_title_view.shadowColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.5];
    custom_title_view.shadowOffset = CGSizeMake(0, -1);

    [custom_title_view sizeToFit];

    view_controller.navigationItem.titleView = custom_title_view;
    view_controller.navigationItem.title = back_button_title;
  }
}

1

Якщо ви хочете не лише змінити текст кнопки "Назад" на той самий текст і залишатися початковою формою стрілки ліворуч, але і зробити щось, коли користувач натисне кнопку "Назад", рекомендую ознайомитися з моїм " CustomNavigationController " .


1

ПРОБЛЕМА: Текст "Назад" на панелі навігації замінити неможливо.

ПРИЧИНА: Мітка "Назад" встановлюється на навігаційній панелі після натискання на перегляд, оскільки атрибут .title в батьківському контролері подання був встановлений на нуль (або не ініціалізований).

ОДНЕ РІШЕННЯ: Якщо встановити self.title = "Що б не ...", ви побачите, що замість "Назад" після натискання нового контролера перегляду з'явиться "Що б не ...".

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.