목록iOS/iOS 정리 (20)
study record
Project는 하나 이상의 Product를 build하기 위해 필요한 모든 파일과 리소스 및 정보를 담고있는 저장소이다. Xcode에서 프로젝트 파일을 만들면프로젝트이름.xcodeproj 파일이 만들어진다. 이를 우클릭하여 '패키지내용보기'를 클릭하면 그 안의 파일들을 볼 수 있다. 프로젝트이름.xcodeproj 디렉토리 안에는 아래의 것들이 존재한다. 1. project.pbxproj 파일2. project.xcworkspace 파일3. xcuserdata 디렉토리4. xcshareddata 디렉토리하나씩 살펴보자! 1. project.pbxproj 파일- 프로젝트에 관한 모든 정보를 저장- 두 브랜치에서 각각 작업할 때에 파일 생성, 이동, 삭제 등을 했을 때 이 파일에 수정이 생겨 git co..
Framework란? Framework 공유된 recources (dynamic shared library, nib files, image files, localized strings, header files, and reference documentation)를 single package로 캡슐화하는 계층형 디렉토리입니다. *헤더파일, localizable파일, 이미지, 문서와 같은 추가 리소스까지 이 모든 것을 하나의 Bundle로 묶어놓은 것 Bundle: 서브 디렉토리 내부의 파일 디렉토리 Library 자주 사용되는 로직을 재사용하기 편리하도록 잘 정리한 일련의 코드들의 집합을 의미한다. 프로그램이 연결할 수 있는 패키징된 Object 파일들의 모음 공통점 : 프로그램을 쉽게 만들 수 있게 하는..
레이아웃 사이클 iOS 레이아웃 사이클은 세가지 단계로 이루어진다. 1. 제약 조건 (Constraints) - 오토레이아웃의 제약 조건 갱신 - 제약 조건은 뷰를 실제로 배치하는데에는 영향을 주지 않는다. - 제약 조건의 갱신은 뷰 계층구조에서 하위뷰에서 상위뷰의 순서로 이루어진다. 2. 레이아웃 (Layout) - 제약 조건을 바탕으로 레이아웃을 갱신한다. - 레이아웃은 구체적인 뷰의 프레임이다. - 이 단계에서 뷰의 Center와 Bounds를 결정한다. - 레이아웃의 갱신은 뷰 계층구조에서 상위뷰에서 하위뷰의 순서로 이루어진다. 3. 그리기 (Draw) - 레이아웃 단계에서 구한 프레임을 CoreGraphics를 사용하여 화면에 그린다. 뷰컨트롤러의 레이아웃 사이클 1. loadView() IB에..
IntrinsicContentSize 본질적인 콘텐츠 크기이다. 대부분의 view들은 기본적으로 컨텐츠 크기만큼의 size를 가지고 있다. UILabel, UIButton은 오토 레이아웃으로 구현할 때 제약사항으로 width와 height를 추가하지 않아도 오류가 나지 않는 이유는 intrinsicContentSize를 가지기 때문이다. UIView 같은 경우는 IntrinsicContentSize를 가지지 않으며, ImageView,TextView는 컨텐츠에 따라 변화한다. invalidateIntrinsicContentSize() view의 컨텐츠의 크기가 바뀌었을 때 intrinsicContentSize프로퍼티를 통해 size를 갱신하고 그에 맞게 오토레이아웃이 업데이트되도록 만들어주는 메소드이다...