Из документации я вижу это для backBarButtonItem:
Когда это свойство равно nil, элемент навигации использует значение в своем
Свойство title (стр. 10) для создания соответствующей кнопки возврата. если ты
хотите указать собственное изображение или заголовок для кнопки назад, вы можете
назначить пользовательский элемент панели кнопок (с вашим пользовательским заголовком или изображением)
это свойство вместо. При настройке элемента панели кнопок не
назначить ему собственный вид; элемент навигации игнорирует пользовательские представления
в любом случае в кнопке задней панели.
Я не знал, было ли то же самое для leftBarButtonItem? В основном у меня есть этот код:
UIButton *homeButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 44, 44)];
UIImage *homeImage = [UIImage imageNamed:@"icon_house.png"];
[homeButton setImage:homeImage forState:UIControlStateNormal];
[homeButton addTarget:self action:@selector(homePressed:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *homeBBI = [[UIBarButtonItem alloc] initWithCustomView:homeButton];
До iOS 5 я поместил это в UIToolBar, и оно обнаружилось нормально. Теперь я хочу поместить это как leftBarButtonItem, справа от backButton контроллера UINavigationController. Когда я его устанавливаю, он вообще не появляется. Там нет изображения. Однако, когда я создаю какую-то кнопку, подобную этой:
UIBarButtonItem *hButton = [[UIBarButtonItem alloc] initWithTitle:@"home" style:UIBarButtonItemStylePlain target:self action:@selector(homePressed:)];
и установите его как leftBarButtonItem, он появится. Я не знал, как получить свой собственный значок для кнопки «Домой» без границ. Когда я использую:
UIBarButtonItem *hButton2 = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"icon_house.png"] style:UIBarButtonItemStylePlain target:self action:@selector(homePressed:)];
У меня есть граница вокруг моего дома, которая мне не нужна. Спасибо.