iOS Core Graphics - CGAffineTransform

Jenny·2021년 12월 1일
1
post-thumbnail

Core Graphics CGAffineTransform

2D 그래픽을 그리는데 사용하기 위한 아핀 변환 행렬이다.
- 아핀 변환 행렬은 객체를 회전(Rotate), 크기 조절(Scale), 변환 또는 기울기(Translate)를 하는데 사용 합니다.

CGAffineTransform 관련 이니셜 라이저

- Rotate : 회전
CGAffineTransform(rotationAngle: CGFloat)
-Scale : 크기 조절
CGAffineTransform(scaleX: CGFloat, y: CGFloat)
-Translate : 변환
CGAffineTransform(translationX:CGFloat, y:CGFloat)

CGAffineTransform Translate

UIView.animate(withDuration: 0.5) {
  //MARK: - CGAffineTransform(translationX:y:)생성자를 사용하여 ContainerView x,y값 변환
  let translate = CGAffineTransform(translationX: 50, y: -100)
  self.containerView.transform = translate
}

CGAffineTransform Scale

UIView.animate(withDuration: 0.5) {
//MARK: CGAffineTransform(scale) 생성자를 이용하여 ContainerView를 1.5배 증가
   let scale = CGAffineTransform(scaleX: 1.5, y: 1.5)
   self.containerView.transform = scale
}

ContainerView가 커지자 버튼이랑 겹치는 현상이 이러나 보기가 싫어지니 한번 바꿔보기로 했다!!

concatenating(_:)

- 두개의 기존 아핀 변환을 결합하여 구성된 아핀 병합 행렬을 반환 합니다.
UIView.animate(withDuration: 0.5) {
//MARK: CGAffineTransform(scale) 생성자와 CGAffineTransform(translationX,y)생성자를 결합하여 transform에 반환
   let scale = CGAffineTransform(scaleX: 1.5, y: 1.5).concatenating(CGAffineTransform(translationX: 0, y: -100))
   self.containerView.transform = scale
}

CGAffineTransform Rotate

UIView.animate(withDuration: 0.5) {
//MARK: CGAffineTransform(rotationAngle:) 생성자를 이용하여 View를 180도 회전 
  let rotate = CGAffineTransform(rotationAngle: .pi)
  self.containerView.transform = rotate
}

CGAffineTransform identity
.identity는 모든 변환을 제거하는 속성 입니다.
CGAffineTransform Translate Animation


profile
"Jenny 있게 iOS 개발을 하며 성장해 나아가자"

0개의 댓글