1

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 フレームを用意する必要がありますか?

4

4 に答える 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 に答える