1

ボタンをプログラムで作成するためのコードがあります。

UIImage *aroundImage = [UIImage imageNamed:@"locBar.png"];
    UIImage *aroundImageDown = [UIImage imageNamed:@"locBarColor.png"];
    UIButton *aroundButton = [UIButton buttonWithType:UIButtonTypeCustom];
    [aroundButton setFrame:CGRectMake(240, 369, 80, 48)];  
    [aroundButton setImage:aroundImage forState:UIControlStateNormal];
    [aroundButton setImage:aroundImageDown forState:UIControlStateHighlighted];
    [aroundButton setImage:aroundImageDown forState:UIControlStateSelected];
    [aroundButton addTarget:self action:@selector(aroundMe) forControlEvents:UIControlEventTouchUpInside];    
    [self.view addSubview:aroundButton]; 

これでボタンのフレームを設定しましたが、このアプリが iPhone4 で 640x960 で表示されるとどうなりますか。次に、「locBar@2x.pngとlocBarColor@2x.png」という異なる画像があり、それらは異なるCGRectMakeを使用する必要がありますか? 私の質問は、両方の解像度のボタンをどのように設定し、それをプログラムで行うかです。

4

3 に答える 3

2

それは自動です:) iosは、利用可能で、デバイスがx2スケールを持っている場合、@2xバージョンをロードします。フレームはピクセル単位ではなくポイント単位です。

ポイント対ピクセルはこちら

于 2012-02-09T12:56:53.533 に答える
1

同じ名前で拡張子の前に @2x が付いた高解像度バージョンの画像を含める場合、[UIImage imageNamed:] 関数を使用している限り、iOS はディスプレイの解像度に応じて正しい解像度を自動的に選択します。イメージを IB に設定します。

于 2012-02-09T13:01:18.427 に答える
-1

条件を入れてから、画面サイズに応じてボタンフレームを作成し、画像を与える必要があります。

于 2012-02-09T13:00:47.357 に答える