Пользовательское изображение кнопки «Назад» панели навигации iOS 7 без метки

Я пытаюсь создать пользовательскую кнопку «Назад» на панели навигации. Я исхожу из следующего:

// Nav bar - back button
[[UINavigationBar appearance] setTintColor:COLOR_WHITE];
[[UINavigationBar appearance] setBackIndicatorImage:[[UIImage imageNamed:@"navMenuBackButton"]
                                                     imageWithAlignmentRectInsets:UIEdgeInsetsMake(6.0, -6.0, 6.0, -6.0)]];
[[UINavigationBar appearance] setBackIndicatorTransitionMaskImage:[UIImage imageNamed:@"navMenuBackButton"]];

Размер изображения 34x34 точки, поэтому без выравнивания изображение не центрируется должным образом. Текущая проблема заключается в попытке избавиться от метки «Назад» без установки пустого заголовка для каждого экрана или внесения каких-либо изменений в сам ViewController.

Есть идеи? Спасибо


person rjinski    schedule 29.01.2014    source источник
comment
На самом деле мысли вслух: как насчет создания подкласса UINavigationBar, а затем использования UINavigationController - (instancetype)initWithNavigationBarClass:(Class)navigationBarClass toolbarClass:(Class)toolbarClass   -  person Mike Pollard    schedule 29.01.2014


Ответы (2)


arrow_upward
1
arrow_downward

Отключите leftBarButtonItem и rightBarButtonItem. Попробуйте следующее.

[navigationItem.backItem.leftBarButtonItem setEnabled:NO];
[navigationItem.backItem.rightBarButtonItem setEnabled:NO];
[navigationItem.backItem setHidesBackButton:YES];
person GMJigar    schedule 29.01.2014

arrow_upward
0
arrow_downward

Вы пробовали это:

NSString *backString = @"";
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:backString
                                                               style:UIBarButtonItemStyleDone
                                                              target:nil
                                                              action:nil];
[[self navigationItem] setBackBarButtonItem:backButton];
person zerbfra    schedule 29.01.2014
comment
да. Он работает так же, как self.navigationItem.title = @"";, но его нужно вызывать для каждого контроллера представления, который я хочу попробовать и избежать. - person rjinski; 29.01.2014