【发布时间】:2017-10-31 09:21:47
【问题描述】:
我有一个带有四个方形按钮的 UIView 控制器,我用边框将它们设置为圆形。它在 iPhone 8 和 iPhone X 上完美运行,但在 iPhone SE 和 iPhone 8 Plus 中,UIButtons 不再是圆形的。我已将 UIButtons 设置为方形,并通过 Auto-Layout 保持该比例,但它似乎不起作用。
在我的 ViewController.Swift 中,我已经链接了四个 UIButton,然后我应用了如下相同的代码:
@IBOutlet weak var topLeftButtonImage: UIButton!
// Edit it to round
topLeftButtonImage.layer.cornerRadius = topLeftButtonImage.frame.size.width/2
topLeftButtonImage.clipsToBounds = true
// Add border
topLeftButtonImage.layer.borderColor = UIColor.white.cgColor // Button border color
topLeftButtonImage.layer.borderWidth = 4 // Button border width
您可以在此处查看 iPhone SE 和 iPhone 8 Plus 上的行为。 iPhone 8 和 iPhone X 都可以。
自动布局约束:
【问题讨论】:
-
这段代码是在什么
func中执行的? -
@Flexicoder 在
func viewDidLoad() -
尝试将代码移动到func viewDidAppear()
-
@JulienW。作为下面发布的答案,您的视图当时尚未添加到视图层次结构中,因此不知道框架的正确宽度
标签: swift xcode swift3 uibutton autolayout