Core Animation을 이용한 Particle Animation
Core Animation을 이용한 Particle Animation Safari의 ‘방해 요소 가리기(Hide Distracting Items)’처럼, iOS에서 Particle Animation을 구현해 보고자 합니다. 미리보기 CAEmitterLayer 활용 UIView 분해 애니메이션 1. CAEmitterLayer로 간단하게 만들기 빠르고 쉽고, 코드도...
Transform은 순서가 중요하다.
Transform은 순서가 중요하다. UIKit에서 CGAffineTransform을 사용할 때는 transform의 적용 순서에 따라 결과가 완전히 달라진다. 아래 두 개의 코드 예시를 보자. 겉보기에는 결과가 같아 보이지만, 실제 동작은 전혀 다르다. box1.transform =...
CPU Based Animation vs GPU Based Animation
CPU Based Animation vs GPU Based Animation 1. 문제의식: iOS앱에서 애니메이션을 구현할 때 CPU를 써야 할까, GPU를 써야 할까? UIKit에서 애니메이션을 만들 때 UIView.animate나 CABasicAnimation을 쓰면 부드럽게 동작한다. 하지만 실시간...
내 인터렉션은 왜 어색할까?
내 인터렉션은 왜 어색할까? 어떤 UI는 이상하게 ‘어색하다’고 느껴질 때가 있다. 손가락은 분명히 움직이고 있는데, 화면은 마치 내 의도를 못 알아챈 것처럼 반응한다. 반대로 어떤 UI는 딱히 화려하지 않아도 이상하게...
Pinch Gesture를 선형적으로 다루는 방법
Pinch Gesture를 선형적으로 다루는 방법 이전글에서 TransitionLayout에 관한 글을 썼었습니다. TransitionLayout을 구현하면서 가장 먼저 부딪혔던 문제 중 하나가 핀치 제스처의 scale 값을 어떻게 자연스럽게 transitionProgress에 매핑할지였습니다. 단순히 scale 값을 그대로...