* 이 문서는 Apple Documentation을 번역한 문서입니다. 문제가 있을 경우 의견을 주시면 반영토록 하겠습니다. Overview앱은 responder 객체를 사용하여 이벤트를 받고 처리합니다. responder 객체는 UIResponder 클래스의 모든 인스턴스를 말하며, 공통 서브클래스는 UIView, UIViewController, and UIApplication 등이 포함됩니다. Responder는 원시 이벤트 데이터를 수신하고 이벤트를 처리하거나 다른 Responder로 전달해야합니다. 앱이 이벤트를 받고 있을 때, UIKit는 자동으로 해당 이벤트를 first responder 라고하는 가장 적합한 Responder 객체로 보냅니다. 처리되지 않은 이벤트는 responder에서 응용..
UIView 내의 레이아웃 관련 메소드인 layoutIfNeeded()와 setNeedsLayout(). 두 메서드 모두 layoutSubViews()를 호출하는 메소드이다. 먼저, layoutSubViews()에 대해 알아보자. * layoutSubviews()- 서브 뷰들을 배치한다. - 기본 구현에서는 서브 뷰 들의 크기와 위치를 결정하기 위해 설정한 제약조건을 사용한다. (iOS 5.1보다 상위 버전에서) - 서브 뷰의 정확한 레이아웃을 배치하기 위해 재정의하여 사용 할 수 있다.(서브 뷰의 프레임 사각형을 직접 설정할 수 있다) - 서브 뷰의 오토 리사이징과 제약 조건 기반 동작이 원하는 동작을 제공하지 않는 경우에만 재정의하여 사용해야한다) - 이 메소드를 직접 호출하면 안되고, setNeed..
Update Note: This tutorial has been updated to Swift 3.0 by Niv Yahel. The original tutorial was written by Erik Kerber. 레이싱 게임을 개발한다고 상상해보세요. 자동차를 운전하거나, 오토바이를 타거나, 비행기를 조종 할 수 있습니다. 이러한 유형의 응용 프로그램을 만드는 일반적인 방법은 객체 지향 설계를 사용하여 유사성을 공유하는 모든 객체에 상속 된 객체 내부의 모든 로직을 캡슐화하는 것입니다. 이 설계 방식은 효과적이지만, 몇가지 단점이 있습니다. 만약 여러분이 가스를 필요로 하는 것을 필요로 하거나, 배경에서 날아다니는 새들을 위한 날아다니는 것을 만들어 낼 수 있는 기계를 만든다면, 자동차의 기능적 구성..