我在iPhone应用程序的多个地方的代码中使用了常量坐标,特别是当我以编程方式创建视图时,设置uiview子类的属性。在iphone生产代码中使用常量x/y坐标是否安全
例如:
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
这是正确的,但只是指出,iOS目前自动处理不同屏幕尺寸之间的转换。即你指定去(160,175),这是它在旧手机和新手机上的位置,它将自动转到(320,350)。我假设他们在任何时候都会添加另一个新的解决方案,它也会处理这个问题,但正如答案所示,如果可以的话,最好能够处理一些事情。 – clarky 2012-04-16 03:53:31
是的,但是这个(以及一些UI元素的大小)未来可能会改变。机会很低,但最好做好准备。另外,如果您想将代码移植到iPad上,则必须更改所有硬编码值。 – EmilioPelaez 2012-04-16 04:23:51
我同意。只是想指出操作系统目前的工作方式。至于移植到iPad,您几乎可以肯定不会像使用iPhone那样使用相同的值。它需要重新设计,因此无论如何将完全分离代码。 – clarky 2012-05-15 15:30:39