我正在将cornerRadius
正常应用于自定义视图:
self.layer.cornerRadius = self.frame.size.height/2
但是,我注意到UIView
上的合成角未均匀应用。具体来说,如附图所示,顶部比底部开始淡入角落。当放大时,即使在正常观看水平下也可以看到不均匀的转弯。
有没有人遇到过这个问题才能解决它?
答案 0 :(得分:1)
你在哪里称这条线?
self.layer.cornerRadius = self.frame.size.height/2
如果cornerRadius不是FINAL大小的一半,则通常会发生此错误。 例如:你在viewDidLoad中设置它,self的高度是100,cornerRadius现在是50,但是在自我完成布局之后,它的高度变为90,cornerRadius仍然是50。
有两种方法可以解决这个问题:
如果对高度使用固定约束,可以在任意位置设置cornerRadius:self.layer.cornerRadius = self.someHeightConstraint.constraint / 2
如果不这样做,请在视图完成布局后设置cornerRadius(在其superview的viewDidLayoutSubviews
中)