фон панели навигации не изменился - PullRequest
1 голос
/ 03 декабря 2010

У меня есть панель навигации, я хочу изменить ее с помощью изображения, я реализовал этот код

self.navBar.layer.contents = (id)[UIImage imageNamed:@"flower.png"].CGImage;

но фон все еще не изменился. К иерархии панели навигации относятся: - UINavigationBar - UINavigationItem - UISegementControl

Я уже установил выход в каждой части этой иерархии. что-то не так ???

1 Ответ

1 голос
/ 04 января 2011

Вот что я использовал довольно успешно:

CALayer *backgroundImageLayer;
backgroundImageLayer = [CALayer layer];
backgroundImageLayer.frame = CGRectMake(0, 0, 300, 44);
backgroundImageLayer.backgroundColor = [UIColor redColor].CGColor;
backgroundImageLayer.contents = (id)[[UIImage imageNamed:@"barImage.png"] CGImage];
backgroundImageLayer.zPosition = -5.0;
[myNavigationConroller.navigationBar.layer addSublayer:test];

Ключ устанавливал zPosition на -5.0, хотя любое отрицательное значение должно работать.Это заставляет backgroundImageLayer not мешать кнопкам и метке UINavigationBar.

...