ios - 如何为每条线段添加颜色?

标签 ios swift

如何为每一行添加颜色?我希望所有的线条都有不同的颜色。例如,一面是蓝色,一面是红色,另一面是绿色。

override func viewDidLoad() {
    super.viewDidLoad()

    shape = CAShapeLayer()
    view.layer.addSublayer(shape)
    shape.opacity = 0.5
    shape.lineWidth = 2
    shape.lineJoin = kCALineJoinMiter
    shape.strokeColor = UIColor(hue: 0.786, saturation: 0.79, brightness: 0.53, alpha: 1.0).CGColor
    shape.fillColor = UIColor(hue: 0, saturation: 0, brightness: 0, alpha: 0).CGColor

    path = UIBezierPath()
    path.moveToPoint(CGPointMake(150, 300))
    path.addLineToPoint(CGPointMake(230, 300))
    path.addLineToPoint(CGPointMake(250, 350))
    path.addLineToPoint(CGPointMake(230, 400))
    path.addLineToPoint(CGPointMake(150, 400))
    path.addLineToPoint(CGPointMake(150, 400))
    path.addLineToPoint(CGPointMake(130, 350))
    path.addLineToPoint(CGPointMake(150, 300))
    path.closePath()
    shape.path = path.CGPath
    // Do any additional setup after loading the view, typically from a nib.
}

最佳答案

单一路径(单一形状图层)以单一颜色绘制。您可能应该为每种所需的颜色创建一个单独的形状层,并将要以相同颜色绘制的线段放入每个形状层的路径中(使用 moveToPoint/lineToPoint 创建不连续的线)。

将所有形状层作为子层添加到要包含绘图的 View 中。

关于ios - 如何为每条线段添加颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31221752/

相关文章:

objective-c - 自定义表格 View 单元格上无法识别的选择器错误

iOS 内部分发,包含 iOS 企业计划和外部开发人员

iOS swift : can't Retrieve current url loaded in UIwebView

swift - 在 Init 中使用 Guard?

ios - Swift 3 - adaptivePresentationStyle 永远不会被调用

ios - xCode 是否有像浏览器控制台一样的 iOS 开发调试控制台?

ios - 什么时候在 Swift 中保存单例数据?

ios - iPhone X 裁剪全屏的布局问题

ios - UICollectionView 在 segue 期间看起来很正常,但在呈现 View 时会跳下

ios - GMUNonHierarchicalDistanceBased 算法集群 AtZoom 中的断言失败