cre*_*nmd 36 iphone animation uinavigationbar uibarbuttonitem ios
我-(void)setEditing:(BOOL)editing animated:(BOOL)animated在我的代码中调用方法来交换导航栏RHS上的两个按钮.
-(void)setEditing:(BOOL)editing animated:(BOOL)animated {
[super setEditing:editing animated:animated];
// Toggle ‘+’ and ‘Add To Order’ button.
if( editing ) {
self.navigationItem.rightBarButtonItem = self.addItemButton;
}
else {
self.navigationItem.rightBarButtonItem = self.addToOrderButton;
}
}
Run Code Online (Sandbox Code Playgroud)
其中self.addItemButton和self.addToOrderButton是包含预定义UIBarButtonItems的ivars,设置为awakefromNib.
中的按钮self.addToOrderButton明显宽于中self.addItemButton,因此当触发编辑状态的更改时(通过点击editButtonItem导航LHS上的标准),我希望它们是两个宽度之间的微妙动画.
如果我周围全if:else用[UIView beginAnimations:nil context:NULL];和[UIView commitAnimations];按钮更改确实动画,但他们从左上角,而不是替代的位置,飞入个别地方,只是动画它们的宽度.
我如何设置导航栏元素的动画,以便每个人(RHS按钮,标题)以更恰当,更有限的方式生成动画?
lxt*_*lxt 75
Run Code Online (Sandbox Code Playgroud)self.navigationItem.rightBarButtonItem = self.addToOrderButton;
您可以使用特定方法为右侧和左侧栏按钮项设置动画:
[self.navigationItem setRightBarButtonItem: self.addToOrderButton animated:YES];
Run Code Online (Sandbox Code Playgroud)
...它会为你制作动画.如果你需要动画的所有内容(包括标题),你也可以使用setItems:animated:导航栏的方法(将它传递给你想要显示的导航项目数组)
| 归档时间: |
|
| 查看次数: |
13874 次 |
| 最近记录: |