在您的“Viewcontroller.h”中定义 float scaleY;
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
{
float scaleY;
}
@end
在您的“Viewcontroller.m”类中
在 [super viewDidLoad] 之后的 viewDidLoad 方法中;将您的 scaleY 值用于 iPhone 系列中不同屏幕尺寸的设备。
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
if ([[UIScreen mainScreen] respondsToSelector: @selector(scale)])
{
CGSize result = [[UIScreen mainScreen] bounds].size;
CGFloat scale = [UIScreen mainScreen].scale;
result = CGSizeMake(result.width * scale, result.height * scale);
NSLog(@"Height ........%f",result.height);
if(result.height == 480 || result.height == 960)
{
// iPhone 3.5 inches Screen
scaleY=1.0;
}
else if(result.height == 1136)
{
// iPhone 4 inches Screen
scaleY=1.18333f;
}
}
}
然后将 scaleY 值与视图的“y”位置相乘。
UIImageView *imgLogo=[[UIImageView alloc]initWithFrame:CGRectMake(75, 10*scaleY, 162, 57)];
imgLogo.image=[UIImage imageNamed:@"Logo-01.png"];
[self.view addSubview:imgLogo];
UIImageView *imgBuilding=[[UIImageView alloc]initWithFrame:CGRectMake(0, 320*scaleY, 320, 140 )];
imgBuilding.image=[UIImage imageNamed:@"image-02.png"];
[self.view addSubview:imgBuilding];
您可以在整个代码中使用此“scaleY”值(如上所示)将其与相应视图的 y 位置相乘。由于 iPhone 系列设备的高度不同,因此我们只能更改它们的“y”位置。
希望这可以帮助。