UIView 的 cornerRadius 不均匀影响视图
UIView's cornerRadius does not affect view evenly
我通常将 cornerRadius
应用于自定义视图:
self.layer.cornerRadius = self.frame.size.height/2
但是,我注意到 UIView
上的合成角没有均匀应用。具体来说,如所附照片所示,顶部比底部更早开始淡入角落。放大后,即使在正常视角下也能看到不均匀的转角。
有没有人也遇到过这个问题能够解决的?
你在哪里调用这条线?
self.layer.cornerRadius = self.frame.size.height/2
如果 cornerRadius 不是最终大小的一半,通常会发生此错误。
例如:你在viewDidLoad中设置了这个,self的高度是100,cornerRadius现在是50,但是自己完成布局后,它的高度变成了90,cornerRadius仍然是50.
有两种方法可以解决这个问题:
如果你对高度使用固定约束,你可以在任何你想要的地方设置cornerRadius:self.layer.cornerRadius = self.someHeightConstraint.constraint / 2
如果不这样做,请在视图完成布局后设置 cornerRadius(在其父视图的 viewDidLayoutSubviews
中)
我通常将 cornerRadius
应用于自定义视图:
self.layer.cornerRadius = self.frame.size.height/2
但是,我注意到 UIView
上的合成角没有均匀应用。具体来说,如所附照片所示,顶部比底部更早开始淡入角落。放大后,即使在正常视角下也能看到不均匀的转角。
有没有人也遇到过这个问题能够解决的?
你在哪里调用这条线?
self.layer.cornerRadius = self.frame.size.height/2
如果 cornerRadius 不是最终大小的一半,通常会发生此错误。 例如:你在viewDidLoad中设置了这个,self的高度是100,cornerRadius现在是50,但是自己完成布局后,它的高度变成了90,cornerRadius仍然是50.
有两种方法可以解决这个问题:
如果你对高度使用固定约束,你可以在任何你想要的地方设置cornerRadius:self.layer.cornerRadius = self.someHeightConstraint.constraint / 2
如果不这样做,请在视图完成布局后设置 cornerRadius(在其父视图的
viewDidLayoutSubviews
中)