Autolayout-处理七个按钮圆形,不影响前,后,垂直和水平间距

时间:2016-12-01 07:49:29

标签: ios autolayout

这是我的故事板:

I have this thing on my storyboard

我在Viewcontroller上有七个按钮。我希望以这样的方式添加对比:如果屏幕尺寸增加,它会自动增加其高度和宽度,如果屏幕尺寸减小,则会自动降低其高度和宽度,而不会影响前后,水平和垂直间距。 / p>

我已经尝试通过固定按钮的高度和宽度来做到这一点,因为这样做没有固定不起作用,因为按钮是圆形的,如果我这样做而没有固定高度,则会变成钻石或其他形状。宽度。我应该使用什么,以便形状保持圆形,并根据要求自动设置高度和宽度?

3 个答案:

答案 0 :(得分:0)

要将它们调整为圆形,请尝试按照

进行操作
myButton.layer.cornerRadius = myButton.frame.size.width/2
muButtonlayer.masksToBounds = true

这将使您的按钮在每个形状中都呈圆形。 要使它们在每个帧中保持正方形,您应该设置宽高比约束。 由于所有按钮的高度相同,您必须通过选择故事板中的所有按钮来添加equalHeight和equalWidth约束。

答案 1 :(得分:0)

如果您想要按钮的动态高度宽度,请使用乘数。 将按钮宽度设置为等于屏幕宽度并选择此约束并设置乘数0.3。并检查宽高比。

查看附加图像。

enter image description here

enter image description here

enter image description here

答案 2 :(得分:0)

您要做的是指定按钮之间的间距,并且指定固定的高度或宽度。如果您打算将它们保持相同的大小,每个按钮应具有1:1的宽高比和相等的宽度约束。

角半径必须动态设置为Dev_Tandel指出。

这与我在此提出的早期答案非常相似:

https://stackoverflow.com/a/34294883/16785