Как программно установить изображение в 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]; 
  • Компилировать программы OpenMP с помощью gcc-компилятора в OS X Yosemite
  • Расстояние, перемещаемое акселерометром
  • Xcode Project vs. Xcode Workspace - Различия
  • Получить UITableView для перехода к выбранному UITextField и избегать скрытия клавиатуры
  • Тип аксессуара UITableViewCell, проверенный на доступ и установка других непроверенных
  • Изменение шаблонов в Xcode
  • xcode с boost: linker (Id) Предупреждение о настройках видимости
  • Данные о сердечном ритме на яблоне
  • Ошибка Xcode 6 при отправке архива
  • Параметры «var» устарели и будут удалены в Swift 3
  • Как создать методы переменных аргументов в Objective-C
  • Давайте будем гением компьютера.