일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- combine
- Refactoring
- Human interface guide
- Clean Code
- 스위프트
- RxCocoa
- 리팩토링
- 애니메이션
- ribs
- swift documentation
- 리펙터링
- map
- ios
- 클린 코드
- uiscrollview
- MVVM
- swiftUI
- Protocol
- tableView
- UICollectionView
- HIG
- Observable
- collectionview
- uitableview
- 리펙토링
- rxswift
- Xcode
- UITextView
- SWIFT
- clean architecture
- Today
- Total
목록튜토리얼 (4)
김종권의 iOS 앱 개발 알아가기
* 아래 프로젝트 시작 파일은 애플 튜토리얼에서 다운 기존 iOS앱에 애플 워치 앱 타겟 생성 Xcode > File > New > Target... 선택 WatchOS > Watch App for iOS App 선택 Include Notification Scene 체크하여 생성 Scheme을 활성화 할것이라는 팝업에서 cancel 선택 Cancel을 선택해도, Scheme > WatchLandsmarks를 선택하여 워치앱을 빌드가 가능 생성된 파일 확인 WatchLandmarks 폴더 - 리소스가 위치 WatchLandmarks WatchKit Extension 폴더 - 애플워치에 사용되는 화면들이 위치 Target > ... WatchKit Extension > Supports Running Wi..
toolbar TabBar와의 차이점 TabBar: 현재 컨텍스트와 연관되지 않은 화면이동 ToolBar: 현재 컨텍스트와 관련된 항목 추가, 삭제, 주석 추가, 사진 촬영과 같은 일 * toolbar의 Human Interface guide 관련 구체적인 내용은 이전 포스팅 글 참고 toolbar를 사용하기 위해 네비게이션 뷰로 이루어진 뷰 준비 import SwiftUI struct ContentView: View { var body: some View { NavigationView { VStack { Text("Toolbar 예제") .padding() } .navigationTitle("타이틀") } } } toolbar를 추가할땐 navigationTitle을 추가하듯이 바로 밑에다 .toolb..
* 애플 튜토리얼의 프로젝트 파일을 받아서 실습하고 그 중에서 중요한 부분만 포스팅 데이터 모델 정의 애플에서 제공해준 assets폴더와 landmarkData 확인 landmarkData.json [ { "name": "Turtle Rock", "category": "Rivers", "city": "Twentynine Palms", "state": "California", ... 모델도 기존 swift에서 사용하던 방식처럼, json파일을 디코딩 하기위해서 Codable을 따르도록 구현 import Foundation import SwiftUI import CoreLocation struct Landmark: Hashable, Codable, Identifiable { var id: Int var na..
첫 실행 시에만 사용자에게 튜토리얼 화면을 보여주는 것 (UserDefaults에 첫 실행인지를 체크 함으로써 두 번 째실행 이상에서는 활성화되지 않게 끔 구현) 1. 기본 지식 1) @2x, @3x의미 - Point단위 : 애플에서 사용되는 추상적 단위, 각 디바이스의 디스플레이가 가지는 "Scale Factor"에 따라 렌더링된 실제 Pixel단위로 변환 @1x이 100*100 pixel 일 경우(1point = 100*100 pixel), Retina디스플레이는 @2x의 "Scale Factor"를 가지므로 1Point = 200*200 pixel - Rendered Pixel : 각 Scale Factor를 반영하여 처리된 실제 해상도 2) 앱 씨닝(App Thinning) - 불필요한 데이터를 ..