在 Swift 上添加圆角

layer rounded corners on a Swift

我试图用 layer.cornerRadius 为我的分段控件获得一个圆角,但它对我不起作用实际上我想根据框架获得 cornerRadius

这是我的代码

func setupView(){
    layer.masksToBounds = true

    // here my corner radius 
    layer.cornerRadius = frame.height / 2.0
    layer.borderColor = UIColor.walkthroughOrangeAccent.cgColor
    layer.borderWidth = 2

    backgroundColor = UIColor.clear

    setupImageView()

    addIndividualItemConstraints(items: imageViewList, mainView: self, padding: 0)

    insertSubview(thumbView, at: 0)

}

我怀疑您因为布局限制而没有看到圆角半径。尝试子类化分段控件并在 layoutSubviews:

中设置圆角半径
override func layoutSubviews() {
    super.layoutSubviews()
    layer.cornerRadius = frame.height / 2.0
}

或者,如果您在视图控制器中:

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    segmentedControl.layer.cornerRadius = segmentedControl.frame.width / 2.0
}