我尝试使用图层获取圆形图像,这是我的代码
_compassArrow.layer.cornerRadius = _compassArrow.frame.size.width / 2;
_compassArrow.layer.masksToBounds = YES;
_compassArrow.layer.borderColor = [UIColor whiteColor].CGColor
compassArrow是一个显示指南针图像的图像视图。当我运行我的程序时,它看起来很糟糕:
我不知道发生了什么事。我为它添加了一些约束,使其与设备具有相同的宽度。这会影响我的形象吗?
答案 0 :(得分:1)
我认为你在应用约束之前设置了cornerRadius。请尝试将此代码放在layoutSubviews
或viewDidLayoutSubviews
中。
这样,_compassArrow.frame.size.width
值将是应用约束后的值,并且您将获得正确的cornerRadius。
答案 1 :(得分:0)
这是一段代码,可以让你这样做。
_compassArrow.layer.borderWidth = 1.0
_compassArrow.layer.masksToBounds = false
_compassArrow.layer.borderColor = UIColor.whiteColor().CGColor
_compassArrow.layer.cornerRadius = profilePicture.frame.size.width/2
_compassArrow.clipsToBounds = true