私のメソッド内で、読み込みが完了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
そして、それはまだ機能していません:(