在UIToolbar中更改UIBarButtonItem上的tintColor会导致按钮消失并从左侧动画

时间:2012-01-23 19:13:45

标签: ios ios5 uibarbuttonitem uitoolbar

我正在使用Xcode 4.2开发iOS 5应用程序。

在Storyboard中我有一个UIToolbar的视图,里面有3个项目。最后一项是UIBarButtonItem。我想在用户点击它时改变这个UIBarButtonItem的tintColor,直到它的作用被解除。

我已经将UIBarButtonItem作为控制器中的插座,这是代码:

@property (weak, nonatomic) IBOutlet UIBarButtonItem *upArrowButton;
...
@synthesize upArrowButton = _upArrowButton;

...我正在改变tintColor:

self.upArrowButton.tintColor = [UIColor greenColor];

然而,当tintColor改变时,按钮消失,一个新的(使用正确的新tintColor)从左侧激活屏幕。

知道我犯了什么错误吗?


UPDATE:

我已经找到了问题的根源,这是因为更改tintColor的方法是在animateWithDuration动画块中调用的。

1 个答案:

答案 0 :(得分:0)

这种奇特行为的来源是因为我在animateWithDuration动画块中调用了改变tintColor的方法。从而导致tintColor的变化被“动画化”。