TIL(Today I Learned)

7월 6일(화)

학습내용

  • Array
    • Array를 선언하고 순회하면서 값을 초기화하는 것과 Array(repeating:, count:)의 시간복잡도는 동일하다.
  • UIBezierPath
    • UIBezierPath로 모양을 만들고, 모양을 레이어에 추가하고, 레이어에 애니메이션을 추가함으로써 애니메이션을 만들 수 있다.
    • currentPoint 프로퍼티를 기준점으로 하며, move(to:)를 통해 기준점을 변경할 수 있다.
    • 기준점과 addLine(to:)의 입력하는 지점을 이어서 선을 추가한다. 그리고 선을 추가한 후 입력 지점이 기준점으로 업데이트 된다.
  • CABasicAnimation
    • CABasicAnimation(keyPath: “transform.scale.x”) 와 같이 keyPath를 지정해서 애니메이션을 정할 수 있다.
    • fromValue, toValue, duration을 변경하여 애니메이션을 조절할 수 있다.
    • CALayer의 add(_:forKey:)을 이용하여 애니메이션을 레이어에 추가한다.
    • 복수의 애니메이션을 적용하고 싶을 경우, CAAnimationGroup()을 이용한다. animations에 애니메이션의 배열을 추가한다.

문제점/고민한점

  • CABasicAnimation의 keyPath로 정해진 애니메이션 말고, 다른 애니메이션을 직접 만들 수는 없을까?

해결방법

  • CAValueFunction을 이용하여 원하는 값을 변경하는 애니메이션을 만들 수도 있다고 한다.

참고