在我的viewDidLoad
方法中,我正在应用一个“加载图像”,它会webView
在完成加载之前出现。我想根据 iPad 所处的方向(纵向或横向)指定不同的加载图像。
我找到了这个页面,这是我的代码的基础。
我的代码如下所示。(这都包含在我的viewDidLoad
方法中)。目前这只适用于纵向模式。知道为什么我的横向代码没有被调用吗?请帮忙!
//detect if iPad
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
//if in Portrait Orientation
if([[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationPortrait) {
loadingImage = [UIImage imageNamed:@"webView-load-image-Portrait~ipad.png"];
loadingImageView = [[UIImageView alloc] initWithImage:loadingImage];
loadingImageView.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"webView-load-image-Portrait~ipad.png"],
nil];
}
//if in Landscape Orientation
if([[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationLandscapeLeft
|| [[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationLandscapeRight) {
loadingImage = [UIImage imageNamed:@"webView-load-image-Landscape~ipad.png"];
loadingImageView = [[UIImageView alloc] initWithImage:loadingImage];
loadingImageView.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"webView-load-image-Landscape~ipad.png"],
nil];
}
}
更新
我知道您应该能够使用图像文件名修饰符,以便设备自动提取正确的图像。我尝试将 webView-load-image.png 放入我的应用程序图像文件夹中,并使用所有正确的扩展名(并-Portrait~ipad
从文件名中删除):
- webView-load-image~iphone.png
- webView-load-image@2x~iphone.png
- webView-load-image-Landscape~ipad.png
- webView-load-image-Landscape@2x~ipad.png
- webView-load-image-Portrait~ipad.png
- webView-load-image-Portrait@2x~ipad.png
它仍然无法正常工作:(