본문 바로가기

swift

UIView의 draw(_:)는 그림을 그리는 함수이다.

override func draw(_ rect: CGRect) {
    // 여기에 직접 선, 도형, 텍스트 등 그릴 수 있음
}

 

UIView의 draw(_:) 

  • 뷰가 화면에 표시될 때 직접 그림을 그리고 싶을 때 사용하는 함수
  • 호출 시점
    • 처음 화면에 뷰가 그려질 때
    • setNeedsDisplay()를 호출했을 때
  • 용도
    • 동그라미, 그래프, 손글씨, 막대기등 직접 그리고 싶을 때
    • 애니메이션 : 그림이 변해야하는 경우마다 다시 setNeedsDisplay() 호출하여 애니메이션 느낌 내기
    • 종이에 낙서하는 느낌, 비트맵 기반 그림등의 복잡한 효과
  • 주의
    • draw(_:) 안에서는 절대 addSubview 같은걸 하면 안됨
    • 그림을 그리는 함수임! 뷰트리 다루는 함수가 아님
    • 오직 CGContext를 통한 드로잉만 사용