是否可以使用Core Animation淡出UIBarButtonItem?

时间:2009-05-02 22:34:42

标签: iphone objective-c cocoa-touch core-animation

我很好奇,是否有可能以某种方式交织核心动画以给出UIBarButtonItem的“淡出”?我有一个tableView,我用两个不同的数据源代表。一旦特定数据源被触发,我想淡出当前的UIToolBar选项并淡出新的选项。

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

2 个答案:

答案 0 :(得分:7)

如果你真的使用的是UIToolbar(注意小写的“b”)而不是UINavigationBar,有一种非常简单的方法可以更改按钮并使转换自动淡化而不会掉到Core Animation。

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

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

这将允许您将UIToolbar引用为self.toolbar。然后,创建新按钮并将它们添加到NSArray并将其传递给 - [UIToolbar setItems:animated:]方法,如下所示:

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

答案 1 :(得分:2)

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