[英]UIButton background Image in IOS7
我正在为UIButton
设置我的背景图像,它在iOS6上可以正常工作,但在iOS7中突出显示状态不能正常工作。
[clearButton setBackgroundImage:[UIImage imageNamed:@"back-over@2x.png"] forState:UIControlStateHighlighted];
[clearButton setBackgroundImage:[UIImage imageNamed:@"btn@2x~ipad.png"] forState:UIControlStateNormal];
可能是什么问题呢?
从图像名称中删除@2x
,并将图像的两个副本保留在资源文件夹中,例如用于视网膜和非视网膜设备的back-over.png
和back-over@2x.png
。
然后如下更新您的代码,
[clearButton setBackgroundImage:[UIImage imageNamed:@"back-over.png"] forState:UIControlStateHighlighted];
不用担心@2x
图片。 如果设备显示的是Retina,它将自动在文件名后附加@2x
。
确保UIButton的类型是Custom,而不是System。
Rana Anees:请重新启动模拟器;-)
如果图像为.png格式,则只需提及图像的名称。
例如,如果您有2张非视网膜图像和视网膜显示图像: img.png
和img@2x.png
您只需要以下设置图像:
[yourButton setBackgroundImage:[UIImage imageNamed:@"img"] forState:UIControlStateNormal];
操作系统会根据屏幕scale
自动搜索图像,图像为@ 2x版本(Retina设备的比例为2,非视网膜的scale
为1)。
您确定在.h中声明了clearButton吗?
打开助手编辑器,将按钮拖动到.h文件,并将其命名为clearButton。
现在,只需将.m clearButton替换为_clearButton,如下所示:
[_clearButton setBackgroundImage:[UIImage imageNamed:@"back-over@2x.png"] forState:UIControlStateHighlighted];
[_clearButton setBackgroundImage:[UIImage imageNamed:@"btn@2x~ipad.png"] forState:UIControlStateNormal];
我只是尝试了2张图片,效果很好。
另外,请确保已导入图像。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.