用swift 画一个笑脸 😄
时间: 2023-11-02 16:05:22 浏览: 156
可以使用 Core Graphics 在 iOS 上画出一个笑脸。下面是一个示例代码:
```
import UIKit
class SmileView: UIView {
override func draw(_ rect: CGRect) {
let facePath = UIBezierPath(arcCenter: CGPoint(x: bounds.midX, y: bounds.midY), radius: bounds.width / 2, startAngle: 0, endAngle: CGFloat.pi * 2, clockwise: true)
facePath.lineWidth = 5.0
UIColor.yellow.setFill()
facePath.fill()
let leftEyePath = UIBezierPath(arcCenter: CGPoint(x: bounds.midX - bounds.width / 4, y: bounds.midY - bounds.width / 4), radius: bounds.width / 10, startAngle: 0, endAngle: CGFloat.pi * 2, clockwise: true)
leftEyePath.lineWidth = 5.0
UIColor.black.setFill()
leftEyePath.fill()
let rightEyePath = UIBezierPath(arcCenter: CGPoint(x: bounds.midX + bounds.width / 4, y: bounds.midY - bounds.width / 4), radius: bounds.width / 10, startAngle: 0, endAngle: CGFloat.pi * 2, clockwise: true)
rightEyePath.lineWidth = 5.0
UIColor.black.setFill()
rightEyePath.fill()
let smilePath = UIBezierPath()
smilePath.move(to: CGPoint(x: bounds.midX - bounds.width / 4, y: bounds.midY + bounds.width / 4))
smilePath.addArc(withCenter: CGPoint(x: bounds.midX, y: bounds.midY + bounds.width / 4), radius: bounds.width / 4, startAngle: CGFloat.pi / 4, endAngle: CGFloat.pi * 3 / 4, clockwise: true)
smilePath.addLine(to: CGPoint(x: bounds.midX + bounds.width / 4, y: bounds.midY + bounds.width / 4))
smilePath.lineWidth = 5.0
smilePath.stroke()
}
}
```
这段代码创建了一个名为 SmileView 的 UIView 子类,在 `draw(_:)` 方法中画出了一个笑脸。使用这个子类创建一个视图,并将其添加到界面上,就可以看到笑脸了。
阅读全文