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

Coo*_*coa 5 iphone cocoa-touch core-animation objective-c

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

谢谢你指点我正确的方向.

pha*_*lat 7

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

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

@property (nonatomic, retain) IBOutlet UIToolbar *toolbar;
Run Code Online (Sandbox Code Playgroud)

这将允许您将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];
Run Code Online (Sandbox Code Playgroud)

  • 谷歌搜索时发现了这篇文章 - 注意:有一个`[self.navigationItem setLeftBarButtonItem:myBarButton animated:YES]`我用于此目的的方法.谢谢! (2认同)