在iPhone生产代码中使用常量x / y坐标是否安全

时间:2012-04-16 01:06:40

标签: iphone objective-c xcode uiview

我在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设备上进行了测试,它的工作原理。 我是否应该担心未来的设备分辨率或任何其他陷阱? 如果是这样,我该如何制作这段代码,更安全?这里有编码原则吗?

由于 MBH

2 个答案:

答案 0 :(得分:3)

在大多数情况下,这并不是什么大问题,但使用参考文件总是更好。

例如,如果您的图片视图位于屏幕中间,则可以使用screensize.width/2代替160,理论上它是相同的,但首先,您更清楚自己在做什么,第二,如果屏幕要改变,你就会做好准备。另一个例子是使用navigationBar.frame.size.height而不是44(无论如何都不会改变)。 此外,如果您引用自己放置的其他视图,并且移动了一个视图,则所有视图都随之移动;)。

简而言之,如果您有可以使用的参考,请使用它,否则,请不要担心。

答案 1 :(得分:0)

也许 - 您只需要知道与之交互的API将如何更详细地解释这些值。空间翻转了吗?您调用的API是否解释为点?像素?笛卡尔坐标?等