MST

星途 面试题库

面试题:Swift中Core Graphics框架绘制简单图形

使用Swift的Core Graphics框架,绘制一个填充红色的圆形,圆心位于视图中心,半径为50。请写出关键代码片段,并解释绘制过程涉及的主要步骤。
28.3万 热度难度
编程语言Swift

知识考点

AI 面试

面试题答案

一键面试

关键代码片段

import UIKit

class RedCircleView: UIView {
    override func draw(_ rect: CGRect) {
        let center = CGPoint(x: bounds.midX, y: bounds.midY)
        let radius: CGFloat = 50.0
        
        let path = UIBezierPath(arcCenter: center, radius: radius, startAngle: 0, endAngle: CGFloat.pi * 2, clockwise: true)
        UIColor.red.setFill()
        path.fill()
    }
}

绘制过程主要步骤解释

  1. 获取视图中心
    • let center = CGPoint(x: bounds.midX, y: bounds.midY) 通过 bounds.midXbounds.midY 获取当前视图的中心坐标。这是圆心的位置。
  2. 定义半径
    • let radius: CGFloat = 50.0 设定圆形的半径为50。
  3. 创建圆形路径
    • let path = UIBezierPath(arcCenter: center, radius: radius, startAngle: 0, endAngle: CGFloat.pi * 2, clockwise: true) 使用 UIBezierPatharcCenter 方法创建一个圆形路径。arcCenter 是圆心坐标,radius 是半径,startAngle 为0(表示从3点钟方向开始),endAngleCGFloat.pi * 2(表示完整的一圈),clockwise 设置为 true 表示顺时针绘制。
  4. 设置填充颜色
    • UIColor.red.setFill() 设置填充颜色为红色。
  5. 填充路径
    • path.fill() 使用之前设置的填充颜色填充创建好的圆形路径,从而在视图上绘制出一个填充红色的圆形。