iPhone 5 のサイズは 640*960 で、iPhone 4 以前の iPhone のサイズは 320*480 です。今、私は混乱しています。これらの異なる iPhone でアプリを動作させたい場合は、イメージビューまたはボタンのフレームを計算する方法を教えてください。たとえば、viewDidLoad には画像があり、そのサイズは someImage@2x.png という名前で 630*100、別のサイズは someImage.png という名前で 315*50 です。画像は同じですが、サイズが異なります。次に、CGRectMake(5, 5, 315, 50) のフレームで UIImageView を作成しました。これは 320*480 サイズです。(iphone5) CGRectMake(10, 10, 630, 100) のフレームで UIImageView の別のフレームを設定する場合、私はしなければなりませんか? この 2 種類のサイズに対して 2 つの異なる UIImageView フレームを用意する必要がありますか?
質問する
5051 次
4 に答える
5
iOS のすべての座標とサイズは、ピクセルではなくポイントを使用します。通常の iPhone 画面 (320x480) の 1 ポイントは 1 ピクセルに相当します。Retina iPhone 画面 (640x960) の 1 ポイントは 2 ピクセルに相当します。
したがってCGRectMake(5, 5, 315, 50)
、Retina スクリーンでは x = 10、y = 10、幅 = 630、高さ = 100 に自動的に変換されます。
于 2013-05-08T10:45:06.917 に答える
1
CGRect はピクセルではなくポイントで動作するため、iPhone4 と iPhone5 で幅の違いはありません
使用[[UIScreen mainScreen]applicationFrame].size.width
すると、両方のデバイスで 320 幅になります。
于 2013-05-08T10:24:11.720 に答える
0
使わない理由 img.size
ちょうどこのような:
UIImage *img = [UIImage imageNamed:@"yourImage"];
CGRect * rect = CGRectMake(5, 5, img.size.width,img.size.height);
于 2013-05-08T10:24:15.803 に答える