ios - 使用自动布局(snapkit)的循环 View ?

标签 ios swift autolayout snapkit

我正在尝试制作一个具有基于自动布局的自适应大小的圆形 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
    }

结果:

enter image description here

最佳答案

我猜你想要这个(对于简单的自动布局很抱歉,但我不使用 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/

相关文章:

ios - AutoLayout Storyboard 约束 - 如何在代码中修改以在 Orientation 更改中使用此修改

ios - 通过 CocoaPods 使用 Google Analytics 时,“链接器命令失败,退出代码为 1”

objective-c - XC测试 : Value not retrieved in NSUserdefaults in UI test Class

ios - Stackview 交换或更改 View 顺序

ios - ScrollView 的奇怪顶部间距

objective-c - NSWindow 的顶部位置在调整大小期间跳跃(自动布局)

ios - 有没有一种方法可以隐式地使按钮成为多行?

ios - 无法在 iOS 12 上使用 SwiftyJSON 构建项目

ios - 如何使用swift在折线图中显示json数据

ios - 如何获取 UnsafeMutableRawPointer 的值?