Как программно установить изображение в NavBar?

У меня есть подробное представление с панелью навигации с кнопкой «Назад» и именем для представления. Панель навигации устанавливается программно. Представленное имя задается следующим образом.

self.title = NSLocalizedString(name, @"");

Название зависит от представленного представления.

Теперь я хотел бы также представить небольшую иконку на панели навигации, которая также зависит от вида.

Как мне это сделать?

Вы можете установить обратное обратное изображение в navigationBar.

didFinishLaunchingWithOptions

 [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"title_bar.png"] forBarMetrics:UIBarMetricsDefault]; 

Или вы можете настроить изображение на панели навигации в любом представлении, используя

 UINavigationBar *navBar = [[self navigationController] navigationBar]; UIImage *image = [UIImage imageNamed:@"TopBar.png"]; [navBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault]; 

Или вы можете установить вид на свою ссылку NavigationBar

 [[UINavigationBar appearance] addSubview:yourView]; 

или

 self.navigationItem.titleView = YourView; 

И установите заголовок, используя h

 self.navigationItem.title = @"Your Title"; 

И вы можете получить navigationBarButton, используя это

 -(void)getRightBarBtn { UIButton *Btn =[UIButton buttonWithType:UIButtonTypeCustom]; [Btn setFrame:CGRectMake(0.0f,0.0f,68.0f,30.0f)]; [Btn setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:@"yourImage.png"]] forState:UIControlStateNormal]; //[Btn setTitle:@"OK" forState:UIControlStateNormal]; //Btn.titleLabel.font = [UIFont fontWithName:@"Georgia" size:14]; [Btn addTarget:self action:@selector(yourBtnPress:) forControlEvents:UIControlEventTouchUpInside]; UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithCustomView:Btn]; [self.navigationItem setRightBarButtonItem:addButton]; } 

И установите простой образ на панели навигации.

 UIImageView *image = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"star.png"]]; UIBarButtonItem *backBarButton = [[UIBarButtonItem alloc] initWithCustomView:image]; self.navigationItem.rightBarButtonItem = backBarButton; 

Вам нужно подclassифицировать UINavigationBar. Затем в drawRect выполните что-то вроде:

 [[UIImage imageNamed...] drawInRect:...] 

и позвоните в супер-метод

Добавьте этот код в viewDidLoad в ViewController:

 UIImage *image = [UIImage imageNamed: @"myIcon.png"]; UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; imageView.frame = CGRectMake(5, 2, 100, 39); [self.navigationController.navigationBar addSubview:imageView]; 

imageView также может быть объявлен как переменная экземпляра, поэтому вы можете получить к нему доступ после его добавления (например, если вы хотите удалить значок с вашего навигационного блока в какой-то момент).

 UIButton *homeBtn=[[UIButton alloc] initWithFrame:CGRectMake(0, 0, 46, 28)]; [homeBtn setBackgroundImage:[UIImage imageNamed:@"homeBtn.png"] forState:UIControlStateNormal]; [homeBtn addTarget:self action:@selector(homeBtnPressed) forControlEvents:UIControlEventTouchUpInside]; UIBarButtonItem *navHomeBtn=[[[UIBarButtonItem alloc] initWithCustomView:homeBtn] autorelease]; self.navigationItem.rightBarButtonItem=navHomeBtn; [homeBtn release]; 
  • Где найти номер строки в редакторе Xcode?
  • как resize растрового изображения на iOS
  • как остановить создание xcode5.1 для 64-битных
  • Расстояние, перемещаемое акселерометром
  • Как избежать ошибок «дублирования символа» в xcode с помощью общих статических библиотек?
  • Простой пример XML-анализа libxml2 с использованием Objective-c, Xcode и HTMLparser.h
  • Как установить cocoapods?
  • Покрытие кода, не показывающее результаты с помощью Xcode + gcov
  • Как сравнить один образ с другим, чтобы увидеть, похожи ли они на определенный процент, на iPhone?
  • Класс Foo реализован как в MyApp, так и в MyAppTestCase. Один из двух будет использован. Какой из них не определен
  • shouldAutorotateToInterfaceOrientation не работает в iOS 6
  • Interesting Posts

    Как скопировать все адреса электронной почты из электронной почты в Thunderbird

    Есть ли способ разблокировать PDF-документы?

    Кнопка Logitech Media Elite Func

    Получение проблемы при проверке динамически созданного флажка через просмотр списка

    В Xcode 7 я все время получаю ошибку «Нет учетных записей при доступе к iTunes-подключению»

    Как извлечь неполный 7-Zip-файл?

    Хороший размер блока для клонирования диска с помощью diskdump (dd)

    Ссылка на объект требуется для нестатического поля, метода или свойства

    Самый простой способ сделать сценарий lua ждать / приостановить / спящий / блок на несколько секунд?

    Инструмент для выделения и комментирования текста на веб-сайтах?

    Как взаимодействовать с BadgeProvider на телефонах Samsung, чтобы добавить счет к значку приложения?

    Должны ли статические статические методы C #, которые * могут быть статическими?

    Сообщите Thunderbird об усечении или обертке строк при отправке электронной почты.

    Извлечение файла tar.gz возвращает: «Это не похоже на архив tar».

    Linux и советы по настройке и настройке Windows

    Давайте будем гением компьютера.