在iPhone上的iPod应用程序中,右上方工具栏中有一个UIBarButtonItem,可以在专辑的歌曲和曲目列表之间翻转。当您选择按钮时,按钮本身会执行翻转动画。
有没有办法做到这一点:
CGContextRef context = UIGraphicsGetCurrentContext(); [UIView beginAnimations:nil context:context]; [UIView setAnimationTransition: UIViewAnimationTransitionFlipFromLeft forView:[self superview] cache:YES];
我是否需要使用initWithCustomView与initWithImage创建一个UIBarButtonItem来实现此目的?
答案 0 :(得分:8)
UIBarButtonItem不是任何UIView类的子类,因此无法设置动画。这些动画(如Apple的地图或iPod)可能是私有API。
然而,一个粗略的解决方法是使用initWithCustomView创建一个UIBarButtonItem,然后为该视图内的翻转设置动画。但是,这可能非常麻烦 - 您需要为按钮提供自己的边框图形。
希望这有用, 保罗
答案 1 :(得分:2)
我做过类似的事情。我有一个UIBarButtonItem
,当文本字段获得焦点时,它会水平翻转。为了达到这个目的,我使用了一个带有自定义UIView
的按钮,在其中放置了一个包含完成栏按钮项的透明工具栏。
为了翻转按钮,我使用transitionFromView:toView:options:completion:
方法将旧工具栏和新工具栏作为from和to视图。
这有点开销,但您可以坚持苹果默认栏按钮。