我想在CALayer中使用[UIBezierPath bezierPathWithRoundedRect:cornerRadius:],在设置矩形的cornerRadius时,我发现它从0到最大半径(大约是图层边界的一半)并不一致。该值在最大半径的1/3处跳变,这让人很困惑。经过一番研究,我发现可能是iOS7风格的UIBezierPath绘制圆形矩形的bug。PaintCode's research on that。所以我的问题是如何绘制一个旧风格的完美圆形矩形,并保持一致的cornerRadius值变化?
1条答案
按热度按时间qacovj5a1#
看了看你发布的PaintCode链接(虽然,在这里回答问题更容易,而不必去其他地方阅读文章)...
是的,当半径大于矩形尺寸的1/2的1/3时,
UIBezierPath(roundedRect: ...)
似乎仍然有问题。要“手动”创建圆角矩形路径,我们可以这样做(使用该链接的矩形尺寸和圆角半径):