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 设备上对其进行了测试,并且可以正常工作。我应该担心未来的设备分辨率或任何其他问题吗?如果是这样,我应该如何使这段代码更安全?这里有什么编码原则吗?

谢谢 Mbh

4

2 回答 2

3

在大多数情况下,这没什么大不了的,但使用参考总是更好。

例如,如果你的图像视图在屏幕中间,你可以使用screensize.width/2代替160,理论上是一样的,但首先,你在做什么更清楚,其次,如果屏幕要改变,你' d 做好准备。另一个例子是使用navigationBar.frame.size.height代替44(无论如何都不太可能改变)。此外,如果您参考您自己放置的其他视图,并且您移动一个,所有这些都会随之移动;)。

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

于 2012-04-16T01:36:02.320 回答
0

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

于 2012-04-16T01:14:48.067 回答