gpt4 book ai didi

ios - 如何在 iOS7 上更改没有动画的 barTintColor?

转载 作者:行者123 更新时间:2023-11-28 19:05:11 26 4
gpt4 key购买 nike

在iOS7上,我们可以通过改变导航栏的颜色

self.navigationController.navigationBar.barTintColor = [UIColor redColor];

但是这个方法在改变barTintColor的时候有一个淡入淡出的动画,请问有没有人知道如何阻止这个动画并立即改变颜色?

更具体地说,我写了一个测试程序,它的窗口根 Controller 是navigationController。在 navigationController 中,有一个带有 3 个按钮的 View Controller 。 3 个按钮都绑定(bind)到以下操作:

- (void)onClick:(id)sender
{
UIColor *color = nil;
if (sender == self.redButton)
{
color = [UIColor redColor];
}
else if (sender == self.blueButton)
{
color = [UIColor blueColor];
}
else if (sender == self.blackButton)
{
color = [UIColor blackColor];
}

self.navigationController.navigationBar.barTintColor = color

// [UIView animateWithDuration:0 animations:^{
// self.navigationController.navigationBar.barTintColor = color;
// }];

// [CATransaction begin];
// [CATransaction setDisableActions:YES];
// self.navigationController.navigationBar.barTintColor = color;
// [CATransaction commit];

}

将动画持续时间更改为 0 或使用 [CATransaction setDisableActions:YES] 都不起作用,动画仍然存在。

希望有人能帮忙,谢谢!

最佳答案

尝试将 barTintColor 设置为 nil,然后再重新设置。

self.navigationController.navigationBar.barTintColor = nil;
self.navigationController.navigationBar.barTintColor = color;

我遇到了类似的问题,它帮我解决了。希望对您有所帮助。

关于ios - 如何在 iOS7 上更改没有动画的 barTintColor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21041547/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com