【发布时间】:2012-08-29 20:04:42
【问题描述】:
在我的viewDidLoad 方法中,我正在应用一个“加载图像”,它会在webView 完成加载之前出现。我想根据 iPad 所处的方向(纵向或横向)指定不同的加载图像。
我找到了 this page,这是我的代码的基础。
我的代码如下所示。 (这都包含在我的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
它仍然无法正常工作:(
【问题讨论】:
-
你在加载过程中改变了 iPad 的方向吗?
-
没有。 iPad 处于横向,然后启动应用程序。
标签: objective-c ios ipad device-orientation