gpt4 book ai didi

ios - 在没有子类化的情况下在 UIView 中绘制 UIBezierPaths?

转载 作者:可可西里 更新时间:2023-11-01 03:25:28 26 4
gpt4 key购买 nike

我是使用 UIBezierPaths 绘制形状的新手。到目前为止,我发现的所有示例都涉及首先对 View 进行子类化,然后覆盖 drawRect: 方法并在其中进行绘图,但我还没有找到任何可以绝对确定的内容这是在 UIView 中绘制 UIBezierPaths 的唯一方法,还是这只是最实用的方法。

有没有其他方法(除了 swizzling)在 UIView 中绘制 UIBezierPath 而不对其进行子类化?

最佳答案

另一种不使用 drawRect 绘制贝塞尔曲线路径的方法是使用 CAShapeLayers。将形状层的路径属性设置为从贝塞尔路径创建的 CGPath。将形状图层作为子图层添加到您的 View 图层。

    UIBezierPath *shape = [UIBezierPath bezierPathWithOvalInRect:self.view.bounds];
CAShapeLayer *shapeLayer = [CAShapeLayer layer];
shapeLayer.path = shape.CGPath;
shapeLayer.fillColor = [UIColor colorWithRed:.5 green:1 blue:.5 alpha:1].CGColor;
shapeLayer.strokeColor = [UIColor blackColor].CGColor;
shapeLayer.lineWidth = 2;

[self.view.layer addSublayer:shapeLayer];

关于ios - 在没有子类化的情况下在 UIView 中绘制 UIBezierPaths?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29634852/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com