gpt4 book ai didi

ios - 这些纽扣是圆形的还是结节状的?

转载 作者:行者123 更新时间:2023-11-28 20:56:09 24 4
gpt4 key购买 nike

也许我的眼睛在欺骗我,但是在使用这段代码为类似于 iPhone 的电话应用程序的数字键盘创建圆形按钮之后:

        for subStack in (mainStackView?.arrangedSubviews)! {

for thisView in (subStack.subviews) {

if let button = thisView as? UIButton {


button.layer.borderWidth = 2
button.layer.borderColor = orangeBorderColor

button.frame.size.width = 76
button.frame.size.height = 76
button.layer.cornerRadius = 0.5 * (button.bounds.size.height)
button.layer.masksToBounds = true
// button.clipsToBounds = true
button.backgroundColor = UIColor.lightGray
button.titleLabel?.font = button.titleLabel?.font.withSize(30)
button.setTitleColor(.black, for: .normal)
}
}
}

我得到的东西看起来像这样:

enter image description here

我试过使用clipsToBoundsmaskToBounds,我试过按钮的.frame和它的.bounds 属性作为算术的基础,但它们在我看来仍然是结节状的而不是圆形的。

有人可以提供一些建议来消除它们吗?

谢谢!

编辑

当我添加这个时:

                print(button.frame.size as Any)
print(button.bounds.size as Any)
print(button.layer.cornerRadius as Any)

我在控制台中得到了这个:

(76.0, 76.0)
(76.0, 76.0)
38.0

最佳答案

不能直接设置使用约束布局的 View 的框架,堆栈 View 的排列 subview 必须使用约束布局。那是你的问题。自动布局(稍后)会覆盖您设置框架的尝试,因此您的角半径与按钮的大小不匹配。

创建UIButton 的子类。在您的子类中,覆盖 layoutSubviews 以设置按钮的 cornerRadius(并且不要忘记调用 super.layoutSubviews)。

关于ios - 这些纽扣是圆形的还是结节状的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52214145/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com