在pushViewController动画期间避免UIBarButtonItem淡出/淡入

时间:2012-02-17 11:55:39

标签: iphone objective-c ios5 uinavigationcontroller uibarbuttonitem

我的only-ios5应用程序中有一个navigationControllerDelegate:

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    UIBarButtonItem *myButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"common-settingsbutton"] style:UIBarButtonItemStylePlain target:nil action:nil];
    [viewController.navigationItem setRightBarButtonItem:myButton]; 
}

它可以工作,但是当一个具有默认动画的推送视图控制器(即使用“推送segue”)时,右边的BallButtonItem fadeout和fadein在动画期间。

我该如何避免这种情况?


更新

我找到的唯一解决方法是:
使用在png中绘制的相同UIBarButtonItem(在相同位置,相同颜色)创建 UINavigationBar背景并根据我需要的按钮正确设置背景。 然后,当然,添加你的UIBarButtonItems。

4 个答案:

答案 0 :(得分:3)

我找到的唯一解决方法是: 使用在png中绘制的相同UIBarButtonItem创建UINavigationBar背景(在相同位置,相同颜色)并根据我需要的按钮正确设置背景。然后,当然,添加你的UIBarButtonItems。

答案 1 :(得分:0)

在推入视图控制器之前创建按钮,而不是在协议方法中。

答案 2 :(得分:0)

根据文档,您可以禁用BarButtonItem的动画

[viewController.navigationItem setRightBarButtonItem:myButton animated:NO];

但这似乎不适用于故事板项目。按钮仍然在动画中。

答案 3 :(得分:0)

{% for cart in cartlist %}
{{ cart.sum }}
{% endfor %}

当你点击rightBarButton时,它会突出显示为Fade In / Fade Out。为了避免该按钮的一个属性adjustImageWhenHighlighted设置为NO。