0

我正在开发我现有的应用程序来自定义屏幕以兼容 iPhone 5 屏幕。但是,正如您在下图中看到的那样,我的 imageview 没有正确放置。我不知道我做错了什么。任何帮助表示赞赏!unlockView 代表箭头。lockViewOutlet 图像表示箭头图像的外部。

- (void)viewDidLoad {
    [super viewDidLoad];
    float screenSizeHeight=[UIScreen mainScreen].bounds.size.height;

    if(screenSizeHeight==568)
    {
        [lockViewOutlet setFrame:CGRectMake(0, 20, 320, 548)];
        [unlockImageView setFrame:CGRectMake(24, 500, 68, 43)];
        [unlockText setFrame:CGRectMake(105, 500, 182,43)];

    }
    if(screenSizeHeight==480)
    {
        [lockViewOutlet setFrame:CGRectMake(0, 20, 320, 460)];
        [unlockImageView setFrame:CGRectMake(24, 411, 68, 43)];
        [unlockText setFrame:CGRectMake(105, 411, 182,43)];

 }
}

iPhone 5 截图在此处输入图像描述 iPhone 4 截图在此处输入图像描述

4

1 回答 1

2

好的,我知道了,

问题在于您的图像视图lockViewOutlet

在您的代码中:[lockViewOutlet setFrame:CGRectMake(0, 20, 320, 548)];

您尝试调整背景 imageView 的大小。仅调整 imageView 的大小并不能解决您的问题。真正的问题是lockViewOutlet.image的大小。

最好的方法是设计一个大小为 320、568 的新图像。然后在调整图像视图的大小后为 iphone 5 设置图像。

if(screenSizeHeight==568)
    {
        [lockViewOutlet setFrame:CGRectMake(0, 20, 320, 548)];

        [lockViewOutlet setImage:[UIImage imageNamed:@"iPhone5LockNackground.png"]];

        [unlockImageView setFrame:CGRectMake(24, 500, 68, 43)];
        [unlockText setFrame:CGRectMake(105, 500, 182,43)];

    }
于 2013-05-08T04:10:17.580 回答