自定义navigationItem动画

时间:2011-05-26 09:01:28

标签: iphone animation uinavigationitem

我想在leftBarButtonItem上使用自定义动画:

 UIBarButtonItem *menuButton = [[UIBarButtonItem alloc]
                               initWithTitle:@"Menu" 
                               style:UIBarButtonItemStyleBordered 
                               target:self 
                               action:@selector(onMenuButtonTouch)];
viewController.navigationItem.leftBarButtonItem = menuButton;

我的UINavigationController使用自定义动画推送和弹出视图,因此leftBarButtonItem目前没有任何动画。

[self.navigationController pushViewController:myViewController animated:NO];
[UIView animateWithDuration:...

-

首先我更改了一个属性,看看它是否有动画但是没有用。然后我尝试在动画开始之前设置属性,但这也不起作用。这绝对没有效果。

有没有办法为这样的东西制作动画?

self.navigationController.navigationItem.leftBarButtonItem.width = 10;

self.navigationController.navigationItem.leftBarButtonItem.customView.alpha = 0;

1 个答案:

答案 0 :(得分:2)

UIBarButtonItem不是UIView的子类,因此您无法对它们应用动画,但customViewUIView对象,因此您可以为其设置动画。

[UIView animateWithDuration:1.0
                 animations:^{
                     self.navigationItem.rightBarButtonItem.customView.alpha = 0;
                 }];