Мне показалось, что ничего из вышеперечисленного не сработало, визуального эффекта не было. Я использую раскадровки с представлением, которое «встроено» в контроллер навигации.
Затем я на уровне кода добавляю свои menuItems, и по какой-то причине «backButton» отображается при визуальной отладке иерархии представления, а значок menuItem отображается под невидимой «кнопкой назад».
Я попробовал настройки, как предлагалось в различных методах подключения, и это не имело никакого эффекта. Затем я попробовал более жестокий подход и перебрал подпредставление, которое также не имело никакого эффекта.
Я проверил размеры своих значков и, кажется, был в порядке.
После ссылки на Apple Human Interface Guideline я подтвердил, что мои иконки правильные. (В моем случае на 1 пиксель меньше 24px 48px 72px).
Самая странная часть - это фактическое исправление ...
При добавлении элемента BarButton присвойте ему заголовок, по крайней мере, с одним символом , в моем случае пробел.
Надеется, это кому-нибудь поможет.
//left menu - the title must have a space
UIBarButtonItem *leftButtonItem = [[UIBarButtonItem alloc] initWithTitle:@" " <--THE FIX
style:UIBarButtonItemStylePlain
target:self
action:@selector(showMenu)];
leftButtonItem.image = [UIImage imageNamed:@"ic_menu"];
[self.navigationItem setLeftBarButtonItem:leftButtonItem];