我想使用storyboard的自动调整大小,位置,对齐等来执行以下操作。我想制作一个看起来像照片的窗户。
如图所示,一切都保持居中,平方和对齐。
随着屏幕变小,我希望视图本身之间的空间以及视图和显示器边缘之间的边缘缩回。基本上,视图保持相同的大小,但它们周围和它们之间的空白空间更少。随着屏幕越来越小,他们只是挤进去。反之亦然,随着屏幕变大。
奖励:可能如果观点过于接近并且几乎相互接触,那么观点本身就会开始收缩,以免彼此接触。
据我所知,所有钉扎都是固定的。似乎不是"请保留1/12的屏幕尺寸边距","请在这两个按钮之间有1/6的屏幕尺寸"。
过去我以编程方式完成了这项工作,但我们的想法是使用Xcode功能来提高工作效率。这正是我在伪代码中想要的:
沿水平轴:
如果(屏幕宽度> 406)
左文字段宽度为200
右侧文字字段宽度为200
左边距是(屏幕宽度 - 400)/ 3
文本字段之间的空格为(屏幕宽度 - 400)/ 3
右边距是(屏幕宽度 - 400)/ 3
否则
左文字段宽度为(屏幕宽度 - 6)/ 2
右文字段宽度为(屏幕宽度 - 6)/ 2
左边距= 2
文本字段之间的空格= 2
右边距= 2
结束如果
答案 0 :(得分:0)
您需要实现的目标就是了解NSLayoutConstrains的工作原理,并在不编写单行代码的情况下使用storyboard将它们放在视图上。例如,让我们采用文本框1并进一步检查这种情况。
首先从截图和你的描述我看到这个盒子有首选左边距,首选宽度和恒定高度。因此,您要添加的第一个约束是:使用您选择的常量值,恒定首选宽度和恒定高度将超前视图引导至超视图。由于第一和第二约束仅是首选,因此它们的优先级应小于要求(1000),例如750.
接下来,你需要定义左边距的缩小规则,这是通过向superview添加另一个前导空间约束来完成的,但这次是以最小边距大小的常量,关系大于或等于当然需要优先级。
最后你应该告诉你的盒子永远不要超过superview的X中心,为Superview添加尾随空间。中心X约束两个盒子/ 2之间的最小空间常数,关系大于等于和所需的优先级
对于方框1,方框2应该具有与方框1相同的约束但是具有相反的前导和尾随约束,等等......
答案 1 :(得分:-1)
您应该使用autolayout并为每个视图设置一些约束。
这段视频清楚地说明了一点:
https://www.youtube.com/watch?v=G53PuA_TlXk&list=PL03RXnsvCFstArb6HZo9BhFKs9B3wKZer&index=9