我正在尝试制作一个具有基于自动布局的自适应大小的圆形 View ,目前我设置了约束,然后我尝试在 viewwilllayoutsubviews 方法中对图像进行圆形处理。
这会导致形状奇特的 View 不是圆形的,我该如何解决这个问题?
初始化:
profilePic = UIImageView(frame: CGRect.zero)
profilePic.clipsToBounds = true
profilePic.contentMode = .scaleAspectFill
约束:
profilePic.snp.makeConstraints { (make) -> Void in
make.centerX.equalTo(self).multipliedBy(0.80)
make.centerY.equalTo(self).multipliedBy(0.40)
make.size.equalTo(self).multipliedBy(0.22)
}
subview :
override func viewWillLayoutSubviews() {
self.navigationMenuView.profilePic.layer.cornerRadius = self.navigationMenuView.profilePic.frame.size.width / 2.0
self.navigationMenuView.profilePic.layer.borderWidth = 2
self.navigationMenuView.profilePic.layer.borderColor = UIColor.white.cgColor
}
结果:
最佳答案
我猜你想要这个(对于简单的自动布局很抱歉,但我不使用 snapkit):
profilePic.heightAnchor.constraint(equalTo: profilePic.widthAnchor).isActive = true
profilePic.widthAnchor.constraint(equalTo: self.view.widthAnchor, multiplier: 0.22).isActive = true
取而代之的是:
make.size.equalTo(self).multipliedBy(0.22)
关于ios - 使用自动布局(snapkit)的循环 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47136646/