横向き用と縦向き用の 2 つのカスタム レイアウトを持つ単一のビューがあります。これらのビュー オブジェクトには、(現在) 各ビューに 1 つずつ、合計 2 つのイメージがあります。
例: 1 つの画像にテキスト コンポーネントがあります。画像が引き伸ばされるのを避けるために、1 つは縦向き用、もう 1 つは横向き用に作成しました。
私が避けようとしているのは、表示されている方向と使用する画像を決定する一連の if ステートメントです。この余分なコードをすべて回避する方法はありますか?
横向き用と縦向き用の 2 つのカスタム レイアウトを持つ単一のビューがあります。これらのビュー オブジェクトには、(現在) 各ビューに 1 つずつ、合計 2 つのイメージがあります。
例: 1 つの画像にテキスト コンポーネントがあります。画像が引き伸ばされるのを避けるために、1 つは縦向き用、もう 1 つは横向き用に作成しました。
私が避けようとしているのは、表示されている方向と使用する画像を決定する一連の if ステートメントです。この余分なコードをすべて回避する方法はありますか?
並べ替え...それに応じて設定された画像名を使用します。つまり、それらに image_portrait.png および image_landscape.png という名前を付けてから、willRotateToInterfaceOrientation..
メソッドで次のようにします。
NSString *orientation = (UIInterfaceOrientationIsPortrait(orientation)) ? @"portrait" : @"landscape";
[imgView setImage:[UIImage imageNamed:[NSString stringWithFormat:@"image_%@",orientation]]];
これ以上できることを私は知りません。確かに、これはあまり改善されていないように見えますが、より多くの画像があれば非常に便利です。
お役に立てれば。
乾杯!