Ios 如何为iphone 3.5英寸屏幕和4英寸屏幕编写代码
我正在开发一个应用程序。在应用程序中,我为3.5英寸的屏幕编写了代码。我拿了一个视图控制器;在这个视图控制器中,我想显示两个图像,一个用于顶部(Imagelogo),另一个用于底部(图像构建)。在3.5英寸屏幕上,显示屏没有问题。但是在4英寸的屏幕上,有一个显示问题。这两个图像显示不正确。我不知道如何为3.5英寸和4英寸屏幕编写相同的代码。我可以使用宏吗?请给我一些想法,任何人。我是编程新手。提前谢谢 下面是我的代码 Viewcontroller.m(3.5英寸屏幕) 此图像将显示在顶部Ios 如何为iphone 3.5英寸屏幕和4英寸屏幕编写代码,ios,iphone,objective-c,Ios,Iphone,Objective C,我正在开发一个应用程序。在应用程序中,我为3.5英寸的屏幕编写了代码。我拿了一个视图控制器;在这个视图控制器中,我想显示两个图像,一个用于顶部(Imagelogo),另一个用于底部(图像构建)。在3.5英寸屏幕上,显示屏没有问题。但是在4英寸的屏幕上,有一个显示问题。这两个图像显示不正确。我不知道如何为3.5英寸和4英寸屏幕编写相同的代码。我可以使用宏吗?请给我一些想法,任何人。我是编程新手。提前谢谢 下面是我的代码 Viewcontroller.m(3.5英寸屏幕) 此图像将显示在顶部 img
imgLogo=[[UIImageView alloc]initWithFrame:CGRectMake(75, 10, 162, 57)];
imgLogo.image=[UIImage imageNamed:@"Logo-01.png"];
[self.view addSubview:imgLogo];
此图像将显示在底部
imgBuilding=[[UIImageView alloc]initWithFrame:CGRectMake(0, 320, 320,140 )];
imgBuilding.image=[UIImage imageNamed:@"image-02.png"];
[self.view addSubview:imgBuilding];
您可以在interface builder中的中自动调整功能的大小,或通过代码使用它 如果你的应用程序支持IOS 5及以上版本,你可以使用苹果的自动布局系统 您可以通过代码根据屏幕大小放置图像
if ([[UIScreen mainScreen] bounds].size.height == 568)
{
//iphone 5 image
}else
{
}
试试这样的自动重设屏幕
UIImageView *imgLogo=[[UIImageView alloc]initWithFrame:CGRectMake(75, 10, 162, 57)];
imgLogo.image=[UIImage imageNamed:@"Logo-01.png"];
[imgLogo setAutoresizingMask:(UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleTopMargin)];
[self.view addSubview:imgLogo];
这是一个快速修复您的问题,但我建议使用自动布局
if ([[UIScreen mainScreen] bounds].size.height == 568)
{
imgLogo=[[UIImageView alloc]initWithFrame:CGRectMake(75, 10, 162, 57)];
imgLogo.image=[UIImage imageNamed:@"Logo-01.png"];
[self.view addSubview:imgLogo];
imgBuilding=[[UIImageView alloc]initWithFrame:CGRectMake(0, 320, 420,140 )];
imgBuilding.image=[UIImage imageNamed:@"image-02.png"];
[self.view addSubview:imgBuilding];
}
else
{
imgLogo=[[UIImageView alloc]initWithFrame:CGRectMake(75, 10, 162, 57)];
imgLogo.image=[UIImage imageNamed:@"Logo-01.png"];
[self.view addSubview:imgLogo];
imgBuilding=[[UIImageView alloc]initWithFrame:CGRectMake(0, 320, 320,140 )];
imgBuilding.image=[UIImage imageNamed:@"image-02.png"];
[self.view addSubview:imgBuilding];
}
希望这对您有所帮助。在“Viewcontroller.h”中定义float scaleY
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
{
float scaleY;
}
@end
然后将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”位置
希望这有帮助。plz使用自动调整大小属性。您可以使用自动布局。您可以使用自动布局根据屏幕大小调整图像。可能重复的。虽然我也使用此方法,但它会导致视图和图像垂直放大一点。图标在4英寸屏幕上不能保持完美的方形。
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];