iOS   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了XCODE:为iPhone 5设备从NIB调整UIImageView大小大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我正在尝试为iPhone5用户调整后台静态UI ImageView(来自Nib文件)的大小.不幸的是,以下代码似乎对背景视图的大小没有任何影响. 有谁知道为什么?提前感谢您提供的任何帮助. ViewController.m: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loa
我正在尝试为iPhone5用户调整后台静态UI ImageView(来自Nib文件)的大小.不幸的是,以下代码似乎对背景视图的大小没有任何影响.

有谁知道为什么?提前感谢您提供的任何帮助.

ViewController.m:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view,typically from a nib.
    AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
    device = appDelegate.deviCEType;
    NSLog(@"The device platform is: %@",devicE);
    if ([[device subStringToIndex:8] caseInsensitiveCompare: @"iPhone 5"] == NSorderedSamE) {
        [BACkground sizeThatFits:CGSizeMake(320,504)];
    }
    else {
        [BACkground sizeThatFits:CGSizeMake(320,416)];
    }
...
//Note: 'BACkground' is declared in `ViewController.h` as,`IBOutlet` `UIImageView` *BACkground,and is linked to the image view in ViewController_iPhone.xib

解决方法

一些想法:

>正如demosten和shabzco建议的那样,我不会使用设备名称/描述来确定坐标(如果没有别的,那么iPhone 6等等);
>如果您要以编程方式设置框架,我建议根据视图控制器的视图边界设置BACkground.frame属性,而不是硬编码图像视图的大小.这样,背景被调整到视图控制器视图的适当大小,不仅与设备无关,而且无论该视图控制器是否在以后被嵌入为另一个容器控制器的子视图控制器等. (例如,如果您将视图放在导航控制器和标签栏控制器,您自己的自定义容器控制器等中,该怎么办).另外,不要假设状态栏或其他图形元素的大小.让iOS简单地为您完成所有这些:

BACkground.frame = self.view.bounds;

>或者更好的是,如果您已将背景图像视图添加到NIB本身,请设置自动调整遮罩,并且不要以编程方式更改框架.如果您关闭了autolayout,只需设置图像视图的自动调整属性,如下所示:

如果可以,可以在底线中避免代码中明确的设备名称引用,并避免使用硬编码坐标.在代码中使用硬编码维度只会使您的应用程序更加脆弱,容易受到新设备,iOS新版本,将视图控制器嵌入其他容器控制器等问题的影响,并限制代码的重用机会.

大佬总结

以上是大佬教程为你收集整理的XCODE:为iPhone 5设备从NIB调整UIImageView大小全部内容,希望文章能够帮你解决XCODE:为iPhone 5设备从NIB调整UIImageView大小所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。