【发布时间】:2012-04-29 08:28:34
【问题描述】:
我正在尝试在两个视图之间切换。这很简单,代码在下面,但我也想同时翻转用于执行翻转的按钮。
您可以在播放曲目时在 iPod 应用程序中看到此行为;点击翻转按钮会在封面和曲目列表之间翻转,但会同时翻转按钮。
这是导航控制器上的一个页面,我要翻转的按钮是rightBarButtonItem。
这是我到目前为止的代码。这会翻转视图,但不会翻转 rightBarButton。
[UIView setAnimationBeginsFromCurrentState: YES];
[UIView setAnimationDuration: 0.5f];
[UIView setAnimationCurve: UIViewAnimationCurveEaseInOut];
showingBackside = !showingBackside;
if (showingBackside) {
[UIView setAnimationTransition: UIViewAnimationTransitionFlipFromLeft
forView: self.view
cache: YES];
[self.view addSubview: backside.view];
[frontside.view removeFromSuperview];
} else {
[UIView setAnimationTransition: UIViewAnimationTransitionFlipFromRight
forView: self.view
cache: YES];
[self.view addSubview: frontside.view];
[backside.view removeFromSuperview];
}
// flip image, too
NSString *newImage = showingBackside ? @"backside.png" : @"frontside.png";
[(self.navigationItem.rightBarButtonItem) setImage: [UIImage imageNamed: newImage]];
[UIView commitAnimations];
(这里的图像翻转代码可能无法编译;我在尝试解释我要做什么之后添加它。)
我遇到麻烦的地方是我想更改导航控制器中最右边的按钮,使其同时翻转。
我该怎么做?我要为哪个视图制作动画,我是作为同一个动画块的一部分还是作为单独的动画块来制作?任何提示将不胜感激,我肯定还没有很好地处理动画。
【问题讨论】:
标签: iphone core-animation rightbarbuttonitem