Cocoa touch Framework
iOS 개발환경을 구축하기위한 최상위 프레임워크
Object C 또는 Swift에서 상속하여 사용하는 UI Kit Foundation 포함해서 CocoaTouch Framework에 포함됨
Foundation : 가장 기본적인 데이터타입, 자료구조, 타이머, 네트워크, 파일관리등 주요
UI Kit :사용자의 인터페이스 관리, 이벤트 처리가 주요목적인 프레임워크. 제스쳐처리,그림그리기,텍스트처리
테이블류,슬라이더ㅡ 알럿창 등 어플리케이션 화면구성요소 포함. UI클래스 사용하려면 반드시 UIKit Import 필요
UIKit은 사용자 인터페이스 관리하고 이벤트처리가 주 목적인 프레임워크
MVC 디자인패턴 사용
(이상적)
(현실적)
View와Controller가 강하게 연결되어있어
대부분 일 담당. View 와 Controller분리 어려움. 프로젝트 규모 커질수록 컨트롤러 비대
MVVM이나 바이퍼패턴 등 다른 디자인패턴 등장 해서 MVC의 단점을 해결
간단한 Basic은 MVC패턴이 적합함
UIView :화면의 직사각형 영역에 대한 내용을 관리하는 개체
-여러 UI 컴포넌트 보여주는데 사용함
ViewController : 앱의 근간을 이루는 객체로, 모든 앱은 최소 하나 이상의 뷰 컨트롤러를 가지고 있음
사용자가 화면을 보는것에 대한 관리기능을 제공함.
- 주요역할
. 데이터 변화에 따라서 view 컨텐츠를 업데이트
. view들과 함께 사용자 상호작용에 응답
. 화면하나를 관리하는 단위
. view를 리사이징하고 전체적인 인터페이스의 레이아웃 관리
. 다른 뷰컨트롤러들과 함께 앱을 구성
AutoLayout : 두 뷰 사이의 관계를 제약조건(Constraints)를 이용해 뷰의 위치를 지정하는 것
. 아이폰 다양한 해상도의 비율에 대응하기 위한것
. 세로보기, 가로보기까지 지원. 슬라이드와 같이 SE, mini, Pro화면에 맞게 일정하게
. Storyboard에서 ViewController Scene 에서 볼수 있음
사용자인터페이스를 시각적으로 표헌. 컨텐츠 화면과 화면간의 관계를 연결시켜주는 도구
각 신은 뷰컨트롤러와 뷰를 뜻함. 여러화면을 스토리보드를 통해 만듬
스토리보드 하단
Add New Constraint : 뷰간의 제약조건을 설정할 수 있는 메뉴
Trailing은 왼쪽, Leading은 오른쪽. 뷰의 너비와 높이 등 설정
Align : View 간의 정렬을 설정. 다른 뷰와의 가로세로 정렬 제약조건을 추가. 수직정렬, 수평정렬 추가가능
Resolve Auto Layout Issue : 제약조건 기준으로 뷰를 업데이트하거나, 캔버스안에 뷰의 현재위치를 통해 제약업데이트 가능. 누락된 제약 추가/삭제 추천제약 사용가능. 많이 사용하는 메뉴는 아님
#실습