Ios UIImageView的转弯半径不工作

Ios UIImageView的转弯半径不工作,ios,iphone,swift,Ios,Iphone,Swift,我已将转弯半径设置为如下所示: @IBDesignable class CornerImageView: UIImageView { @IBInspectable var cornerRadiusValue: CGFloat = 10.0 { didSet { setUpView() } } override func awakeFromNib() { super.awakeFromNib() setUpView() } override func

我已将转弯半径设置为如下所示:

@IBDesignable class CornerImageView: UIImageView {
@IBInspectable var cornerRadiusValue: CGFloat = 10.0 {
    didSet {
        setUpView()
    }
}
override func awakeFromNib() {
    super.awakeFromNib()
    setUpView()
}
override func prepareForInterfaceBuilder() {
    super.prepareForInterfaceBuilder()
    setUpView()
}

func setUpView() {
    self.layer.cornerRadius = self.cornerRadiusValue == -1 ? self.bounds.size.height/2 : self.cornerRadiusValue
    self.clipsToBounds = true
}
}
在故事板上,它工作正常。但在设备上运行时失败。 请帮忙

请尝试以下方法:

将图像视图的高度和宽度设置为相同或将接受比率设置为1:1

然后把这个密码

imageview.layer.cornerRadius = imageview.frame.size.width / 2
imageview.clipsToBounds = true
它可能会对您有所帮助。谢谢您

请尝试以下方法:

将图像视图的高度和宽度设置为相同或将接受比率设置为1:1

然后把这个密码

imageview.layer.cornerRadius = imageview.frame.size.width / 2
imageview.clipsToBounds = true
它可能会帮助你。谢谢你试试这个

func setUpView() {
        self.layer.cornerRadius = self.frame.width/2;
        self.layer.masksToBounds = true;
    }
试试这个

func setUpView() {
        self.layer.cornerRadius = self.frame.width/2;
        self.layer.masksToBounds = true;
    }

尝试在
viewDidLayoutSubviews
方法中设置
UIImageView
高度的一半角半径。

尝试在
viewDidLayoutSubviews
方法中设置
UIImageView
高度的一半角半径。

图像的实际帧将在ViewDidDisplay或LayousView中设置。 只需添加以下代码

override func layoutSubviews() {
    super.layoutSubviews()
    setUpView()
}

图像的实际帧将在ViewDidDisplay或LayoutUsubViews中设置。 只需添加以下代码

override func layoutSubviews() {
    super.layoutSubviews()
    setUpView()
}

self.layer.cornerRadius=self.bounds.size.width/2@Kuldeep高度和宽度总是相等的。我尝试了你的代码,但仍然错误..尝试在主线程上编写代码。分配cornerRadiusValue=-1check@IOS我在故事板上设置了cornerRadiusValue=-1,但在设备上运行时,它不正确。self.layer.cornerRadius=self.bounds.size.width/2@Kuldeep高度和宽度总是相等的。我尝试了你的代码,但仍然错误..尝试在主线程上编写代码。分配cornerRadiusValue=-1check@IOS我在故事板上设置了cornerRadiusValue=-1,但在设备上运行时,它工作不正确。为什么要在视图控制器的
viewDidLayoutSubview
中执行此操作?为什么不将代码放在它所属的自定义视图类中?自定义视图类中的方法是this layoutSubviews()。为什么要在视图控制器的
viewdilayoutsubview
中执行此操作?为什么不将代码放在它所属的自定义视图类中呢?自定义视图类中的方法是this layoutSubviews()。