デバイスがiPhone5(高い画面)であるか、以前のiPhoneバージョン(短い画面)であるかに応じて、UIImageViewのサイズを調整しようとしています。以下は私のコードです。ただし、アプリを実行すると、これらの手順は無視されます。この問題は自動レイアウトの制約が原因であると思われます。これらの制約をオフにすると、画像のサイズは変更されますが、レイアウトの残りの部分が台無しになります。自動レイアウトをオフにするのではなく、選択的にオーバーライドする方法はありますか?
CGRect screenBounds = [[UIScreen mainScreen] bounds];
if (screenBounds.size.height == 568) {
// code for 4-inch screen
avatarImage.frame = CGRectMake(43, 372, 75, 75);
} else {
// code for 3.5-inch screen
avatarImage.frame = CGRectMake(43, 372, 50, 50);
}
編集
以下は私が解決しようとしている問題の画像です。アバター画像は、小さい方のビューに収まるまで比例してサイズを変更したいと思います。そして、プログラムでテキストフィールドをラベルの右上に移動したいと思います。