栏按钮项淡入/淡出?

时间:2014-11-27 02:37:23

标签: xcode swift uibarbuttonitem

是否有任何方法可以淡化条形按钮项,因为没有要设置的.alpha属性。我有兴趣淡出一个按钮并淡出另一个按钮以取代导航栏上的位置。有没有办法做到这一点?

编辑:我正试图淡化右上方Bar Button Item

storyboard

我理解褪色通常是通过我之前说过的.alpha完成的。

我的问题是Bar Button Item没有alpha属性。

如下所示:

attributes of bar button

与存在.alpha属性的普通按钮相反:

attributes of button

如何淡化Bar Button Item

1 个答案:

答案 0 :(得分:0)

易。您必须为它们创建一个插座,然后创建if语句或您想要启动淡入/淡出动画的任何方法:

- (void) animateButton {
button1.alpha = 0;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:.5];
button1.alpha = 1;
[UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];
[UIView commitAnimations];
}

- (void) animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:.5];
button1.alpha = 0;
[UIView commitAnimations];
}

<强>迅速

viewDidLoad {
self.button1.alpha = 1
self.button2.alpha = 0
}

当您调用动画代码时:

UIView.animateWithDuration(1.0, animations: {
self.button1.alpha = 0
})

//基于UIControlState更改按钮:您也可以在故事板中执行此操作,方法是将一个条形按钮项拖动到视图控制器,然后按住Ctrl键并拖动到.h文件以创建一个插座,然后基于此提交动画或代码你想要什么。

UIImage *backButtonImage = [[UIImage imageNamed:@"button_back"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 13, 0, 6)];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];