在viewDidLoad中使用setBackgroundImage时,UIButton闪烁

时间:2014-01-14 01:28:46

标签: ios iphone objective-c uibutton

我在UIButton中显示viewcontroller,其中包含navigationcontroller。 问题是,当使用推送转换显示视图时,按钮会闪烁。

我已经在SO上查看了现有的解决方案,但它们似乎都没有用。

-(void)viewDidLoad{
//call to super

[button setBackgroundImage:[UIImage imageNamed:@"NormalImage"]  forState:UIControlStateNormal];
[button setBackgroundImage:[UIImage imageNamed:@"SelectedImage"]  forState:forState:UIControlStateSelected];
[button setBackgroundImage:[UIImage imageNamed:@"SelectedImage"]  forState:UIControlStateHighlighted];

}

1)我尝试使用setImage,但它不起作用。事实上,它根本不显示图像。 2)禁用动画在viewdidload中工作(并在viewDidAppear中启用)但它也禁用了导航控制器动画。 [UIViews setAnimationsDisabled];

1 个答案:

答案 0 :(得分:0)

您是否通过Interface Builder为按钮指定了不同的背景图像? 这里可能发生的是,您的按钮在Interface Builder中分配了一组不同的图像,并且您在加载视图并且可能已经显示后更改背景,因此您可以看到闪烁。 我建议如果可能的话,直接在你的xib文件中配置你的按钮。