2009-05-02 64 views
5

我很好奇,是否有可能以某种方式将Core Animation交织在一起以使UIBarButtonItem“淡出”?我有一个tableView,我用两个不同的数据源表示。一旦特定的数据源被触发,我想淡出当前的UIToolBar选项并淡入新的选项。是否可以使用Core Animation淡出UIBarButtonItem?

感谢您指点我正确的方向。

回答

7

如果你确实在使用UIToolbar(注意小写“b”)而不是UINavigationBar,那么有一种非常简单的方法来改变按钮并使转换自动淡入而不会掉到Core Animation上。

如果您使用Interface Builder,则需要在代码中提供对工具栏的引用。创建一个IBOutlet属性,并以IB工具栏链接到它:

@property (nonatomic, retain) IBOutlet UIToolbar *toolbar; 

这将允许你引用UIToolbar为self.toolbar。然后,创建新的按钮,并将它们添加到一个NSArray并把它传递给 - [UIToolbar setItems:动画:]方法如下:

UIBarButtonItem *newItem = [[[UIBarButtonItem alloc] 
           initWithBarButtonSystemItem:UIBarButtonSystemItemDone 
           target:self 
           action:@selector(handleTap:)] autorelease]; 
NSArray *newButtons = [NSArray arrayWithObjects:newItem, nil]; 
[self.toolbar setItems:newButtons animated:YES]; 
+2

发现这个职位,而谷歌搜索 - 作者注:有一个`[自我。 navigationItem setLeftBarButtonItem:myBarButton animated:YES]`我用于此目的的方法。谢谢! – taber 2012-03-28 03:47:18

2

我不相信有一种方法来控制UIBarButtonItem上的alpha,但UIToolbar类已经有一个方法来支持你想要做的事情:-setItems:animated :.

相关问题