XCODE:为iPhone 5设备从NIB调整UIImageView大小
我正在尝试为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 = self.view.bounds; >或者更好的是,如果您已将背景图像视图添加到NIB本身,请设置自动调整遮罩,并且不要以编程方式更改框架.如果您关闭了autolayout,只需设置图像视图的自动调整属性,如下所示: 如果可以,可以在底线中避免代码中明确的设备名称引用,并避免使用硬编码坐标.在代码中使用硬编码维度只会使您的应用程序更加脆弱,容易受到新设备,iOS新版本,将视图控制器嵌入其他容器控制器等问题的影响,并限制代码的重用机会. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |