我正在开发一个应用程序使用iOS 5.1,我遇到了一些奇怪的行为与default.png文件。iOS 5.1和Default.png
我已经添加下列文件到我的应用程序:
为Default.png - (iPhone)
[email protected] - (iPhone的Retina)
默认画像〜iPad的.PNG - 总览
[email protected]~ipad.png - (iPad的视网膜)
当应用程序启动时,它似乎选择了正确的Default.png图像用于每个场合。然而,在我的AppDelegate我有一个简单的启动画面,使流畅的应用程序的加载和过渡到应用,做这样的事情:
UIImageView *splashView = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,window.frame.size.width, window.frame.size.height)];
splashView.image = [UIImage imageNamed:@"Default"];
[window addSubview:splashView];
[window bringSubviewToFront:splashView];
但是反过来[UIImage imageNamed:@"Default"]
没有选择正确的文件为每个设备,我相信问题是文件名的-Portrait
部分。
因此,作为一个快速的解决方案,我这样做:
if(([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad)) {
// Force the image used by ipads
if([[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] == 2.0) {
splashView.image = [UIImage imageNamed:@"[email protected]~ipad"];
}
else {
splashView.image = [UIImage imageNamed:@"Default-Portrait~ipad"];
}
}
else
splashView.image = [UIImage imageNamed:@"Default"];
这是我应该怎么做呢?这看起来很有趣吗?
这是否看起来很有趣?这很有趣 – Krishnabhadra 2012-04-12 11:43:03
尝试一些NSLogging,看看究竟发生了什么。 – 2012-04-12 12:34:38
@rokjarc当你做一个简单的'[UIImage imageNamed:@“默认”]'时,你怎么能NSLog选择哪个文件? – mobius 2012-04-12 13:01:23