Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在swift中为所有屏幕大小制作圆形按钮?_Ios_Iphone_Swift - Fatal编程技术网

Ios 如何在swift中为所有屏幕大小制作圆形按钮?

Ios 如何在swift中为所有屏幕大小制作圆形按钮?,ios,iphone,swift,Ios,Iphone,Swift,我知道如何制作完美的圆,逻辑是使高度和宽度相同,并将角半径设置为宽度或高度的一半。在代码中,我也这样做了。它可以在SE或iPhone5S上运行,但当我在iPhone7这样的大屏幕设备上运行它时,我没有得到完美的圆形。这是我的密码-- 这是iPhone SE的输出 这是iPhone7的输出 是否有其他布尔属性可用于始终保持按钮圆形 自动布局约束 首先,从按钮约束中删除前导和尾随空间,并通过约束使按钮位于视图的中心。 要创建一个完美的圆形(圆形),按钮的宽度和高度必须与所有屏幕尺寸相同,即如果i

我知道如何制作完美的圆,逻辑是使高度和宽度相同,并将角半径设置为宽度或高度的一半。在代码中,我也这样做了。它可以在SE或iPhone5S上运行,但当我在iPhone7这样的大屏幕设备上运行它时,我没有得到完美的圆形。这是我的密码--

这是iPhone SE的输出

这是iPhone7的输出

是否有其他布尔属性可用于始终保持按钮圆形

自动布局约束

首先,从按钮约束中删除前导和尾随空间,并通过约束使按钮位于视图的中心。
要创建一个完美的圆形(圆形),按钮的宽度和高度必须与所有屏幕尺寸相同,即如果iphone 7上的宽度增加,则高度也必须与宽度相同。因此,您必须将按钮的纵横比设置为1:1,这样,如果屏幕大小改变,则宽度和高度也会以相同的方式增加。

按钮本身的大小是如何设置的?如果您在故事板中使用自动布局,请包括自动布局约束的屏幕截图,如果您以编程方式进行,请在问题中包含相关代码。设置角半径的代码在哪里?它在什么函数中?@GurtejSingh好的,把它放在viewwillappease函数中。。。或者只是将其设置为一个常量值。您正在将高度设置为80,因此宽度将为80。。。所以只需将拐角半径设置为40。(无需计算)。@atrane谢谢你在移除前导和尾随约束并使用水平中心约束后,我得到了完美的圆形按钮。@Fogmeister谢谢你的解释:)你太棒了:DWO谁对这个答案投了反对票?你能解释一下否决票的原因吗?不知道为什么会有否决票。这是迄今为止给出的唯一能真正解决OP问题的答案。我没有,但你的答案中没有任何帮助-OP显示了一个高宽比为1:1的约束,代码将
角半径设置为宽度的一半,等等。好的答案不仅是解释,它们是正确的,并且在可能的情况下显示代码。@Fogmeister,我现在在评论中看到了这一点。是的,OP中缺少不止一条关键信息。希望它能被编辑。Anshul你的解决方案有效!!谢谢你!!但您应该解释为什么我必须从按钮中删除前导和尾随空格。无论如何,谢谢:)
submit.layer.cornerRadius = submit.frame.width/2