我想在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;
答案 0 :(得分:2)
UIBarButtonItem
不是UIView
的子类,因此您无法对它们应用动画,但customView
是UIView
对象,因此您可以为其设置动画。
[UIView animateWithDuration:1.0
animations:^{
self.navigationItem.rightBarButtonItem.customView.alpha = 0;
}];