Вопрос по iphone, uinavigationbar, objective-c, ios – Как я могу анимировать изменение фона UINavigationBar на UIViewController push?

8

Мое приложение использует два разных фона для UINavigationBar, чтобы указать пользователю, на каком уровне иерархии они находятся. Когда я нажимаю UIViewController, которому нужен второй фон, ему не хватает анимации, фон меняется сразу же, как только UIViewController выдвигается. Как я могу анимировать это так, чтобы изменение фона исчезало при изменении вида?

Ваш Ответ

1   ответ
18

CATransition *transition = [CATransition animation];
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];
transition.type = kCATransitionFade;
transition.duration = 0.5;

[self.navigationController.navigationBar.layer addAnimation:transition forKey:nil];
[self.navigationController.navigationBar setBackgroundImage:[[UIImage imageNamed:@"navigationbar.png"]resizableImageWithCapInsets:UIEdgeInsetsMake(44, 20, 44, 20)] forBarMetrics:UIBarMetricsDefault];        

Поместите это в свойviewDidLoad метод. Вам нужно будет связать / импортировать QuartzCore фреймворк

Я давно отказался от этого, но все равно спасибо за публикацию. Это может пригодиться когда-нибудь. bpercevic

Похожие вопросы