Ios 在viewDidLoad中使用setBackgroundImage时,UIButton闪烁
我正在Ios 在viewDidLoad中使用setBackgroundImage时,UIButton闪烁,ios,iphone,objective-c,uibutton,Ios,Iphone,Objective C,Uibutton,我正在viewcontroller中显示ui按钮,该按钮包含在navigationcontroller中。 问题是,当视图使用“按下转换”显示时,按钮会闪烁 我已经研究了现有的解决方案,但似乎没有一个有效 -(void)viewDidLoad{ //call to super [button setBackgroundImage:[UIImage imageNamed:@"NormalImage"] forState:UIControlStateNormal]; [button setBac
viewcontroller
中显示ui按钮
,该按钮包含在navigationcontroller
中。
问题是,当视图使用“按下转换”显示时,按钮会闪烁
我已经研究了现有的解决方案,但似乎没有一个有效
-(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) 禁用动画可在viewdiload
中工作(并在viewdilease
中启用),但它也禁用了导航控制器动画。
[UIViews setAnimationsDisabled]代码>是否通过界面生成器为按钮指定了不同的背景图像?。
这里可能发生的情况是,您的按钮在Interface Builder中指定了一组不同的图像,并且您在加载视图并可能已经显示视图后正在更改背景,因此您会看到闪烁。
如果可能的话,我建议您直接在xib文件中配置按钮 你能显示屏幕截图吗?同时试着把这些代码放到视图中显示:
@NovalAgungPrayogo屏幕截图不会有帮助,因为两个图像之间的转换时间很短。我试图将代码放在ViewDidDisplay中,但在ViewDidDisplay中更改图像时,代码看起来不太好。