UIButton自定义视网膜图像在iPad Retina Display中伸展
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UIButton自定义视网膜图像在iPad Retina Display中伸展相关的知识,希望对你有一定的参考价值。
iPad视网膜图像有一个问题。当我在普通ipad中执行我的添加时,它看起来很棒。
但是,当我在iPad Retina中执行此应用程序时,UIButton
自定义图像向上延伸。
另外,我为视网膜模式添加了“@ 2x”图标图像的图像。
使用此代码:
UIButton *btnEye=[[UIButton alloc] initWithFrame:CGRectMake(10, 5.5, 35, 35)];
[btnEye setImage:eyeImage forState:UIControlStateNormal];
[reportToolbar addSubview:btnEye];
在普通模式下:
在Reitna模式中:
答案
视网膜图像是否真的具有比正常分辨率高的分辨率,或者它具有与正常分辨率相同的分辨率?
另一答案
简单地说,你应该用正常的图像替换“@ 2x”图像,看起来,图像的大小是相反的。
另一答案
这段代码不会赢得选美比赛,但你可以尝试一下!
向您的班级添加一项功能,以识别您是否有视网膜设备
- (BOOL)isRetina {
return [self respondsToSelector:@selector(displayLinkWithTarget:selector:)] && (self.scale == 2.0);
}
当你设置eyeImage时就这样做
UIImageView *eyeImage = nil;
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad && [self isRetina]) {
eyeImage = [UIImageView imageNamed:@"eye@2x.png"];
} else {
eyeImage = [UIImageView imageNamed:@"eye.png"];
}
这样你强迫你的设备使用视网膜图像,如果它有一个:-)。
以上是关于UIButton自定义视网膜图像在iPad Retina Display中伸展的主要内容,如果未能解决你的问题,请参考以下文章