본문 바로가기

🍎 iOS/UIKit7

[UIKit] UITableView UITableView @MainActor protocol UITableViewDataSource 테이블 뷰는 리스트 형태이며, UIScrollView를 상속받아 수직 스크롤이 가능합니다. 테이블의 개별 항목을 구성하는 셀을 UITableViewCell 객체이며, 이를 사용하여 테이블에 행을 그립니다. 테이블 뷰는 각각 자체 행이 있는 0개 이상의 섹션으로 구성되며, 섹션은 테이블 뷰 내에서, 행은 섹션 내에서 인덱스 번호로 식별됩니다. 원하는 섹션 앞에 섹션 Header를 붙일 수 있으며, 선택적으로 섹션 Footer를 선택할 수 있습니다. UITableViewCell @MainActor class UITableViewCell : UIView UITableViewCell 객체는 단일 테이블 행의 내용을 .. 2022. 4. 1.
[UIKit] UIView(3) 서브 클래싱 노트 UIView 클래스는 시각적 콘텐츠와 더불어 유저 상호작용 제공을 위한 중요한 서브 클래싱 지점입니다. view를 상속받는 것은 view를 구현하고 성능을 조정하기 위해 더 많은 작업들이 필요합니다. 따라서 UIView클래스가 제공하지 않는 것이 있을 때만 구현하는 것이 좋습니다. 오버라이드 할 함수들 UIView를 상속받을 때 반드시 오버라이드 해야 하는 소수의 메서드들이 있고, 필요에 따라 오버라이드 할 수 있는 메서드들도 있습니다. UIView는 유연하게 설정 가능한 클래스이기 때문에 커스텀 메서드를 오버라이드 하지 않고 정교한 뷰 동작으로 구현할 수 있습니다. 다음은 UIView 클래스를 상속받으면 오버라이드 할 수 있는 메서드 들입니다. 초기화 init(frame:): 이 방.. 2022. 3. 30.
[UIKit] UIView(2) View 생성하기 일반적으로 스토리보드에 뷰를 만들 때는 라이브러리로부터 캔버스에 끌어다 놓아서 만듭니다. 프로그래밍 방식으로도 생성할 수 있습니다. 뷰를 생성할 때 일반적으로 미래의 super 뷰를 기준으로 초기 크기와 위치를 지정합니다. 다음 코드는 뷰를 생성하고 super 뷰의 좌표계에 있는 점(10, 10)에 왼쪽 상단 모서리를 배치합니다. let rect = CGRect(x: 10, y: 10, width: 100, height: 100) let myView = UIView(frame: rect) 다른 뷰에 하위 뷰를 추가하려면 super 뷰에서 addSubView(_:) 메서드를 호출하세요. 뷰에 하위 뷰를 여러 개 추가할 수 있으며 iOS에서는 형제 뷰가 서로 겹쳐있을 수 있습니다. addS.. 2022. 3. 28.
[UIKit] UIView(1) View는 앱 사용자 인터페이스의 기본 구성 요소이며 UIView 클래스는 모든 view에 공통적인 동작을 정의합니다. view 객체는 사각형 내에서 콘텐츠를 렌더링하고 해당 콘텐츠와의 모든 상호작용을 처리합니다. UIView 클래스는 인스턴스화하고 고정된 배경색을 표시하는 데 사용될 수 있는 구상 클래스입니다. 더 정교한 컨텐츠를 그리기 위해서 서브클래스화할 수도 있습니다. 앱에서 흔히 볼 수 있는 label, image, button 및 기타 인터페이스 요소를 표시하려면 직접 정의하기보다는 UIKit 프레임워크에서 제공하는 뷰 하위 클래스를 사용하세요. view 객체는 앱이 사용자와 상호작용하는 주된 방식이기 때문에 여러 가지 책임이 있습니다. 다음은 몇 가지 예입니다. 그리기와 애니메이션 뷰는 UI.. 2022. 3. 25.
[UIKit] UIApplication UIApplication iOS에서 실행되는 앱의 제어와 조정의 중심점 선언 @MainActor class UIApplication : UIResponder 모든 iOS 앱에는 단 하나의 UIApplication 인스턴스가 존재합니다. 앱이 시작되면 시스템은 UIApplicationMain(_: _: _: _:) 함수를 호출합니다. 이 함수는 UIApplication 객체의 싱글턴을 생성하는 작업을 합니다. 그다음 shared 클래스 메서드를 호출해 싱글턴 객체에 접근할 수 있습니다. application 객체의 주요 역할은 사용자 이벤트로부터의 초기 라우팅을 처리하는 것입니다. application 객체는 UIControl 클래스의 인스턴스인 control객체가 전달한 action 메시지를 target.. 2022. 3. 24.
[UIKit] 앱의 라이프 사이클 앱은 현재 상태에 따라서 할 수 있는 작업과 할 수 없는 작업이 결정됩니다. 개발자는 앱의 상태가 변화할 때마다 앱의 동작을 적절하게 조절해주어야 해야 합니다. UIKit은 delegate 객체의 메서드를 적절히 호출하여 앱의 상태가 변화했음을 알려줍니다. Scene 기반 라이프 사이클 이벤트에 대응 Scene을 지원하는 앱에서 UIKit은 라이프 사이클 이벤트가 발생할 때마다 각각의 이벤트를 전달합니다. Scene: 기기에서 실행되는 앱 UI의 인스턴스 하나 사용자는 각 앱에서 여러 개의 scene을 생성할 수 있으며, 각각의 scene을 독립적으로 숨기거나 보이게 할 수 있습니다. 각 scene은 고유의 라이프 사이클을 가지고 있기 때문에 서로 다른 실행 상태에 있을 수 있습니다. Scene은 기본 .. 2022. 3. 22.
UIKit UIKit 프레임워크는 iOS 또는 tvOS 앱에 필요한 인프라를 제공합니다. 인터페이스를 구현하기 위한 window와 view architecture을 제공합니다. Multi-Touch 및 기타 유형의 입력을 앱에 제공하기 위한 이벤트 처리 인프라를 제공합니다. 사용자, 시스템 및 앱 간의 상호 작용을 관리하는데 필요한 기본 실행 루프를 제공합니다. 그 밖에, UIKit 프레임워크는 다음과 같은 기능들을 지원합니다. 애니메이션 문서 그리기 printing 사용중인 기기 정보 텍스트 관리 및 표시 검색 접근성 앱 확장 리소스 관리 별 다른 명시사항이 없다면, UIKit에 포함된 클래스들을 앱의 main thread 혹은 main dispatch queue에서만 사용해야 한다. 이 제한은 UIRespond.. 2022. 3. 21.
반응형