我想在iPhone上看到全屏图像。多少 像素我必须设置它? iphone 3和i的宽度和高度不同 4?
我的源代码:
NSString *filePath = [[NSBundle mainBundle] pathForResource:theProduct.image ofType:@"png"];
UIImageView *img = [[UIImageView alloc] initWithImage:[UIImage imageWithContentsOfFile:filePath]];
img.frame = CGRectMake(0.0, 0.0, ?, ?);
[self.view addSubview:img];
我应该放什么而不是问号?
非常感谢, 斯特凡诺
答案 0 :(得分:8)
尝试将UIImageView的框架设置为[[UIScreen mainScreen] applicationFrame]
。
这将设置UIImageView使用应用程序可用的所有空间,如果状态栏可见,则排除状态栏。
答案 1 :(得分:1)
您应将其设置为较旧的iPhone的尺寸:320 x 480像素。然后iPhone 4将其翻倍以适应屏幕。如果您不想看到像素化,则需要另一张尺寸为640 x 960的@ 2x图像。
答案 2 :(得分:0)
问题已经解答(状态栏被删除后使用320 x 480或320 x 460)。
作为解决类似问题的一种方法:在Xcode中,在xib中删除UIImageView;适当调整大小,然后在右侧窗格中显示“大小检查器”(右侧第二个选项卡)。它给出了Frame Rectangle的宽度和高度。如果您不希望缩放(或者更确切地说,如果您想要1:1比例),请将此宽度和高度用作图像的大小。另外(如上所述)使用双分辨率图像@ 2x进行视网膜显示。
答案 3 :(得分:0)
这是一个非常古老的线程,所以只是更新如何使用Constraints完成。
imageView?.translatesAutoresizingMaskIntoConstraints = false
imageView?.contentMode = .scaleAspectFit
view.backgroundColor=UIColor.blue
view.addSubview(self.imageView!)
let height = NSLayoutConstraint(item: imageView!, attribute: .height, relatedBy: .equal, toItem: view, attribute: .height, multiplier: 1, constant: 0)
let width = NSLayoutConstraint(item: imageView!, attribute: .width, relatedBy: .equal, toItem: view, attribute: .width, multiplier: 1, constant: 0)
view.addConstraints([height, width])