问题
如何保持按钮,图像,按钮…当使用(按钮,图像....的约束时,视图在大屏幕上四舍五入使用swift
设置父视图的宽度和高度相等我试过的代码
我尝试了这个代码块,它在像SE这样的小屏幕上工作得很好,直到8:
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
roundedObject.layer.cornerRadius = roundedObject.frame.width / 2
roundedObject.clipsToBounds = true
}
不同尺寸屏幕的形状
my object constraints:Screen1 screen2 screen3
问题是你的约束
如果像这样同时使用比例宽度和比例高度约束,你将无法得到一个正方形,因为不同的设备会有不同的高度和宽度 我的建议是只使用一个按比例的宽度或比例的高度(你想要哪个),并使用宽高比约束1:1可能你在viewDidLoad
方法中这样做,其中帧尚未获得最终值(最初它们从实例化的storyboard中获得值)。如果在storyboard预览中大小是300x300,在viewDidLoad中也会是300x300。
所以要么在viewDidLayoutSubviews
中这样做,要么在layoutSubviews中创建一个子类。
class RoundedButton: UIButton {
override func layoutSubviews() {
super.layoutSubviews()
layer.corderRadius = bounds.width / 2
layer.masksToBounds = true
}
}