iOS의 애니메이션 구현 방법 정리

애니메이션 구현 방법 iOS의 애니메이션 구현은 크게 두 가지로 나눌 수 있는데 하나는 UIKit의 애니메이션 API를 사용하는 것이고, 다른 하나는 코어 애니메이션을 사용하는 것이다. 오늘은 각각의 세부적인 구현보다는 각각의 API의 차이와 기본적인 사용방법에 대해서 살펴보도록 하겠다.

(Swift) 복사/붙여넣기 가능한 커스텀 클래스

복사/붙여넣기를 지원하는 커스텀 클래스 만들기 복습 이전 시간에 macOS에서 클립보드를 통해서 복사와 붙여넣기를 통해서 뷰 혹은 앱간의 데이터를 교환하는 과정에 대해서 살짝 살펴보았다. 어떤 클래스의 객체가 클립보드로 복사되려면, 해당 클래스는 클립보드에게 어떤 타입의 데이터들을 넣어줄 수 있음을 알리고, 각 타입에 대한 데이터를 생성하여 클립보드에게 전달해주는 동작을 수행해야 하며, 이 동작은 NSPasteboardWriting에 정의되어 있다. 그리고 붙여넣는 시점에 특정한 클래스의 객체를 클립보드에 요청하면, 클립보드는 해당 클래스의 객체를 생성할 수 있는 타입들을 조사한 후, 조달 가능한 타입에 대응하는 데이터를 이용해서 해당 클래스 객체를

(Swift | Cocoa ) NSView를 PDF로 변환하기

뷰로부터 pdf 데이터 얻기 AppKit의 모든 그리기 명령은 PDF로 변환가능하다. 그리고 이렇게 변환된 PDF 데이터는 프린터로 보내지거나 파일에 기록될 수 있다. PDF는 해상도에 의존하지 않기 때문에 어느 기기에서 봐도 제법 괜찮은 품질을 보여준다는 점을 잊지 말자. draw:를 사용해서 뷰를 그리는 것을 할 수 있다면, PDF는 공짜로 얻을 수 있다. 이 방법은 매우 쉬운데 NSView는 다음과 같은 메소드를 가지고 있다. func dataWithPDF(inside: NSRect) -> Data 이 메소드는 draw(:)를 호출해서 이를 통해 그래픽 데이터를 얻는다. 뷰 그리기 명령에서 얻어지는 모든 내역은 화면이

(Swift | Tutorial) copy and paste 구현해보기

복사/붙여넣기를 지원하기 페이스트보드, 흔히들 클립보드라고 말하는 이 물건은 요즘 컴퓨터를 쓰는 사람들에게는 어찌보면 공기중의 산소와 같은 것이라 하겠다. 거의 모든 컴퓨터 및 스마트기기 사용자들이 의식하지도 않은채 많이 쓰는 기능일 것이다. 복사와 붙여넣기는 사용자 측면에서는 숨쉬는 것처럼 자연스러운 기능이지만,시스템 측면에서는 사실 간단한 동작은 아니다. 복사/붙여넣기는 단순히 앱 내에서 데이터를 이동하는 것 뿐만 아니라 서로 다른 앱 간에 대해서도 이를 통해서 데이터를 전달할 수 있게 된다. 또 우리가 만약 A라는 데이터를 클립보드에 복사했다 하더라도, 이 복사된 데이터에 사용처에 따라서는 B 혹은 C나