Skip to content

Perspective View

Song edited this page Jul 5, 2021 · 1 revision

2021-07-05

by Song

Step 1 - 원근법에 따라 Layer 배치, 이동

Simulator Screen Recording - iPhone 12 - 2021-07-05 at 16 26 03

  • 각 유닛을 CALayer로 형성하여 view에 subLayer로 추가함
  • 노출되는 유닛의 개수를 고정하고, superView 크기 대비하여 위치 별 Size, Origin 고정
  • 앞에 있는 유닛일수록 Size, zPosition을 크게(0이 최대) 설정
  • 유저 액션 있을 때마다 현재 그린 모든 Layer를 지우고 맨 앞 유닛 삭제, 맨 뒤에 유닛 추가하여 다시 그림 -> 초기 유닛, 이후 추가되는 유닛들은 현재 ViewController에서 일괄 생성하여 메소드 parameter를 통해 전달함

유닛 간격 조정

  • 현재는 순서에 따라 등차적 가중
  • 뒤로 갈수록 작아지는 유닛에 대응, 유닛 크기 반영한 간격 필요 -> 맨 앞에 나온 유닛에 집중될 수 있도록 집중도 확보 필요

Step 2 - CALayer에 이미지 더하기

Simulator Screen Recording - iPhone 12 - 2021-07-05 at 16 58 13

  • Unit struct 생성, 필요한 이미지 이름을 가지고 있도록 함
  • 이미지 이름은 public enum으로 정의하였음
  • 각 Layer의 contents로 이미지를 설정함
let layer = CALayer()
let logoImage = UIImage(named: "swift")?.cgImage
layer.contents = logoImage
layer.contentsGravity = .resizeAspect //이미지 비율, 위치 설정
Clone this wiki locally