3

私は iPhone アプリのいくつかの場所で、特にプログラムでビューを作成し、uiview サブクラスのプロパティを設定するときに、コードで一定の座標を使用しました。

例:

UIImage* img = [UIImage imageNamed:@"background.png"];
UIImageView *imgView = [[[UIImageView alloc] initWithImage: img] autorelease];
imgView.center = CGPointMake(160, 175); // --> Are these constant usages safe?
[self.view addSubview: imgView];

シミュレーター、3G と 4S の両方のデバイスでテストしましたが、動作します。将来のデバイスの解像度やその他の問題について心配する必要がありますか? もしそうなら、このコードをより安全にするにはどうすればよいですか? ここにコーディングの原則はありますか?

ありがとうございます

4

2 に答える 2

3

ほとんどの場合、大したことではありませんが、常に参照を使用することをお勧めします。

たとえば、画像ビューが画面の中央にある場合、screensize.width/2代わりに を使用できます160。理論的には同じですが、まず、何をしているのかがより明確になり、次に、画面が変化した場合、準備する必要があります。もう 1 つの例は、 (とにかく変更される可能性が低い)navigationBar.frame.size.heightの代わりに使用することです。44また、自分で作成した他のビューを参照して 1 つを移動すると、それらすべてが一緒に移動します ;)。

要するに、使用できる参照がある場合はそれを使用し、そうでない場合は心配しないでください。

于 2012-04-16T01:36:02.320 に答える
0

たぶん - 対話する API が値をより詳細に解釈する方法を知る必要があるだけです。スペースが反転していますか?あなたが呼び出す API はそれをポイント単位で解釈しますか? ピクセル?デカルト座標?等

于 2012-04-16T01:14:48.067 に答える