如果我使用iPhone 3屏幕分辨率的尺寸在使用CGRectMake旋转设备后重新定位控件,那么我认为iPhone 4的分辨率会加倍,因此可以在iPhone 4上发生什么?
例如,如果我将一个按钮设置为尺寸为125x125,位于20,20的位置,则在iPhone 4上它会在40,40时加倍到250x250?
button1.frame = CGRectMake(125,125,20,20);
答案 0 :(得分:2)
是的,这样做是安全的。从iOS 4开始,SDK中有一个内置的乘法器。因此,iPhone 2G-3GS的屏幕和iPhone 4的屏幕均采用320x480网格布局。当您的代码在较旧的设备上运行时,乘数将为1,您的控件将显示在(125,125)并且大小为20x20像素。但是,在iPhone 4上,乘数将为2,因此您的控件将显示为(250,250),并且为40x40像素。通过这种方式,您的UI在所有iOS设备上看起来都是相同的。
答案 1 :(得分:1)
对于初学者,我希望您使用CGRectMake
而不是CGMakeRect
。您可以在不考虑iPhone分辨率的情况下定位控件。您只需将帧设置为仅定位较低分辨率的设备即可。但是你必须拍摄你正在使用的所有图像的2倍图像。