这是我在iOS 8和XCode 6下从头开始的第一个应用程序,所以这些间距问题一直在扼杀我。在下面你可以看到我有一个UIImageView,我想成为一个正方形,但我希望它在屏幕的宽度上延伸。它有一个宽度和高度值,所以当应用程序运行时,屏幕更宽,所以它最终在左上角有一个小盒子。我已经尝试过以各种方式解决约束,但是当我限制它时,图像会爆炸到全尺寸并覆盖屏幕上的所有内容。如何让它拉伸并保持1比1的宽高比?
修改 好的,我错了。不是UIImageView没有调整,它是整个视图。
答案 0 :(得分:9)
使用图片视图内容模式:
[self.imageView setContentMode:UIViewContentModeScaleAspectFill];
看起来您还希望框架的宽度能够填满屏幕。使用这些约束:
然后应适当调整图像视图的大小。
答案 1 :(得分:2)
限制双方和顶部超级视图。你也可以说,例如,宽度/高度可以是> = 320,这有时会有所帮助。但请记住,只有在纵向工作时,当您将UI转换为横向时,图像在填充宽度并同时完全在屏幕上时才能保持正方形。
编辑:图片不应该尝试超出屏幕边界(纵向),只要你不告诉它应该是"这远离底部"
编辑 - 2:将背景视图约束设置为superview。全部4。
答案 2 :(得分:1)
我会以编程方式设置框架,而根本不使用约束。要做到这一点
设置框架使两个值相等
frame.size.width / frame.size.height