ios – 如何在Swift中更改UIBezierPath的颜色?

前端之家收集整理的这篇文章主要介绍了ios – 如何在Swift中更改UIBezierPath的颜色?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个UIBezierPath的实例,我想将笔画的颜色改为黑色以外的东西.有谁知道如何在斯威夫特这样做?

解决方法

使用 Swift 3,UIColor具有 setStroke()方法. setStroke()具有以下声明:
func setStroke()

Sets the color of subsequent stroke operations to the color that the receiver represents.

因此,您可以使用这样的setStroke():

strokeColor.setStroke() // where strokeColor is a `UIColor` instance

下面的游乐场代码显示了如何在UIBezierPath旁边使用setStroke(),以便在UIView子类中绘制一个绿色填充颜色和浅灰色笔画颜色的圆圈:

import UIKit
import PlaygroundSupport

class MyView: UIView {

    override func draw(_ rect: CGRect) {
        // UIBezierPath
        let newRect = CGRect(
            x: bounds.minX + ((bounds.width - 79) * 0.5 + 0.5).rounded(.down),y: bounds.minY + ((bounds.height - 79) * 0.5 + 0.5).rounded(.down),width: 79,height: 79
        )
        let ovalPath = UIBezierPath(ovalIn: newRect)

        // Fill
        UIColor.green.setFill()
        ovalPath.fill()

        // Stroke
        UIColor.lightGray.setStroke()
        ovalPath.lineWidth = 5
        ovalPath.stroke()
    }

}

let myView = MyView(frame: CGRect(x: 0,y: 0,width: 200,height: 300))
PlaygroundPage.current.liveView = myView

猜你在找的iOS相关文章