快速制作相对于屏幕尺寸的图像

时间:2016-09-24 11:18:19

标签: swift autolayout relative

我画了一幅画来说明我的意思: http://nl.tinypic.com/r/11vjoy8/9

我想在彼此旁边制作8张图片,大小相同。该应用程序处于横向模式,因此没有纵向模式。图像应该是高度的20%和宽度的12.5%。所以它应该都是相对于屏幕大小的。这可能与约束有关,还是只是程序化?我对任何答案都很满意!

2 个答案:

答案 0 :(得分:0)

您可以使用StackBuilder中的Stack View全部执行此操作,选择所有图像并将它们放在堆栈视图中,之后对堆栈视图赋予约束高度和宽度到主UIView

答案 1 :(得分:-1)

我认为也许以编程方式可能更容易。

您可以使用UIScreen通过以下方式确定使用您应用的手机的高/宽:

UIScreen.mainScreen().bounds.height
UIScreen.mainScreen().bounds.width

然后填充你的视图你可以做这样的事情(假设你有一个覆盖整个屏幕的superView):

imageView.frame.size.width = UIScreen.mainScreen().bounds.height / 8
imageView.frame.size.height = UIScreen.mainScreen().bounds.width / 5
superView.addSubview(imageView)

然后,您需要做的就是将每个imageView的x,y坐标设置为比前一个高12.5%。这可以通过简单的for循环来完成,如果需要使用相同的方法,可以再次调用屏幕大小。见下面的灵感:

var imageViews: [UIImageView] = [imageView1, ...]

var i = 0
for index in imageViews {
    index.frame.origin.x = 0
    index.frame.origin.y = 0 + (UIScreen.mainScreen().bounds.height / 8)*CGFloat(i)
}