calayer
-
[CoreAnimation] Ch15. Stroke and Path Animations (path로 애니메이션하기)Ray Wenderlich/Core Animation 2018. 9. 12. 01:02
15장 Stroke and Path Animations IntroLayer를 이용하여 리프레쉬뷰(Spinner)를 만들어보자. Creating interactive stroke animations CAShapeLayer의 프로퍼티들 (아래에서 lineDashPattern제외 모두 animatable) - strokeColor: path를 그리는 아웃라인의 컬러. default: nil - fillColor: path가 그린 영역의 내부 컬러. default: opaque black[‘ - lineWidth: stroking한 outline의 두께. default: 1 - lineDashPattern: stroke할 때 점선의 간격, 점선의 길이를 나타냄 Array타입이고 default: nil - str..
-
[CoreAnimation] Ch12. Layer Keyframe Animations and Struct Properties (레이어의 키프레임 애니메이션을 알아보자.)Ray Wenderlich/Core Animation 2018. 8. 27. 13:42
12장 Layer Keyframe Animations and Struct Properties IntroUIView의 키프레임 애니메이션에서는 여러 뷰의 여러 프로퍼티를 동시에 애니메이션 처리할 수 있었다. 하지만 Layer에서는 하나의 레이어, 하나의 프로퍼티에 대해서만 키프레임 애니메이션이 가능하다. Introducing keyframe animations CAKeyframeAnimation에서는 fromValue와 toValue를 사용하지 않는다. 대신, values라는 value의 리스트를 사용한다. 그리고 values의 시간에 관한 프로퍼티도 필요하다. (0과 1사이의 상대시간값) Creating a layer keyframe animation CAKeyframeAnimation또한 CAAnima..
-
[CoreAnimation] Ch9. Animation Keys and Delegates (레이어 애니메이션 Delegate, Key를 사용하기)Ray Wenderlich/Core Animation 2018. 8. 1. 20:58
9장 Animation Keys and Delegates Intro UIView animation을 사용할 때, 애니메이션을 중지할 수 없었다. 하지만 Core Animation에선 모든게 가능!layer의 애니메이션은 멈출 수 있다. 더불어 delegate를 설정하여 애니메이션의 시작과 끝(or interrupted)에 대한 핸들링도 가능하다. Introducing animation delegates CAAnimationDelegate에는 두 메소드가 있다. func animationDidStart(_ anim: CAAnimation)func animationDidStop(_ anim: CAAnimation, finished flag: Bool) Key-value coding compliance CAA..
-
CALayer의 position과 anchorPoint의 관계앱등이에게 살충제를 뿌린다./iOS 2018. 8. 1. 19:19
CALayer의 position, anchorPoint UIView의 layer프로퍼티. CALayer타입이고 position을 갖고 있습니다. 파란뷰위에 노란뷰를 올렸습니다.이 때, 디폴트로 노란뷰.frame은 (0, 0, 100, 100)을 갖습니다. 그리고 노란뷰.layer.position의 값은 (50, 50)입니다. 노란뷰.center와 같은 값이죠. 그렇다면 이렇게 생각할 수 있습니다. 아~ UIView.layer.position은 UIView.center를 의미하는 거구나. 결론은 아닙니다. 그렇다면 center라고 네이밍하지, position이라고 하진 않았겠죠? CALayer에는 anchorPoint라는게 있습니다. 타입은 CGPoint고 디폴트는 (0.5, 0.5)입니다. x와 y의 값..
-
[CoreAnimation] Ch8. Getting started with Layer Animations. (레이어 애니메이션)Ray Wenderlich/Core Animation 2018. 7. 31. 22:20
8장 Getting Started with Layer Animations Section 3. Layer AnimationsView vs LayerLayer는 View와 다르다. Layer는 View를 표현하는데 필요한 데이터를 갖는 모델 객체다. Layer는 View와 어떻게 다른가?- 말 그대로 모델 객체! 데이터만 포함한다. 뷰의 로직에는 전혀 관여하지 않는다. 오토레이아웃 의존성이나 사용자 인터렉션에도 물론 관여하지 않는다.- View에 없는 visible trait가 존재한다. borderLine, borderColor, position, shadow 등- GPU는 레이어 정보를 캐싱하여, 화면에 그림을 그린다. Layer, View. 다시 한 번 비교Views- 복잡한 뷰 계층 구조를 갖는다. ..
-
[CALayer] CAScrollLayer에 대해서 알아보자.앱등이에게 살충제를 뿌린다./iOS 2017. 6. 6. 23:46
예제에 사용된 앱 : https://itunes.apple.com/us/app/layer-player/id949768742?mt=8예제에 사용된 소스 : https://github.com/scotteg/LayerPlayer원문 : https://www.raywenderlich.com/90488/calayer-in-ios-with-swift-10-examples CAScrollLayer는 스크롤가능한 Layer를 표현합니다. CAScrollLayer는 간단한 편이고, 사용자의 터치나 제스쳐에 다이렉트로 respond할 수 없습니다. 그렇다면 UIScrollView의 layer는 CAScrollLayer타입일까? 라는 의문이 생길 수 있는데요. 그건 아닙니다. UIScrollView는 CALayer의 bou..
-
[CALayer] CALayer의 몇 가지 프로퍼티에 대해서 알아보자.앱등이에게 살충제를 뿌린다./iOS 2017. 6. 6. 22:28
모든 UIView는 디폴트로 CALayer타입의 layer프로퍼티를 갖고 있다.그렇다면 CALayer에 대해서 간단히 알아보자. - Layer는 Sub layer를 가질 수 있다. UIView가 subview를 갖듯, layer도 sublayer를 가질 수 있다. 이 점을 이용하여 많은 시각적 효과를 표현할 수 있다. - Layer의 프로퍼티들은 Animating이 가능하다. Layer의 프로퍼티를 변경하면 설정된 시간에 걸쳐서 애니메이션이 진행된다. 이를 통해서 역시나 많은 시각적 효과를 표현할 수 있다. - Layer는 가볍다. Layer는 UIView에 비해 훨씬 가벼운 객체다. 따라서 UI를 담당하는데 있어서 View보다 나은 퍼포먼스를 기대할 수 있다. - Layer는 엄~~청나게 많은 프로퍼티..