일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- clean architecture
- combine
- UICollectionView
- 애니메이션
- SWIFT
- Human interface guide
- 리펙토링
- ios
- swift documentation
- collectionview
- MVVM
- HIG
- Refactoring
- 리펙터링
- uitableview
- Observable
- map
- 리팩토링
- tableView
- 클린 코드
- RxCocoa
- Protocol
- rxswift
- swiftUI
- uiscrollview
- 스위프트
- Clean Code
- UITextView
- ribs
- Xcode
- Today
- Total
목록2022/07 (31)
김종권의 iOS 앱 개발 알아가기
* 애플 튜토리얼의 프로젝트 파일을 받아서 실습하고 그 중에서 중요한 부분만 포스팅 4강에서 만든 Row import SwiftUI struct LandmarkRow: View { var landmark: Landmark var body: some View { HStack { landmark.image .resizable() .frame(width: 50, height: 50, alignment: .leading) Text(landmark.name) Spacer() //
* 애플 튜토리얼의 프로젝트 파일을 받아서 실습하고 그 중에서 중요한 부분만 포스팅 데이터 모델 정의 애플에서 제공해준 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..
이미지 사용 방법 asset 파일에 사진 파일 준비 ContentView에 Image()를 사용하여 이미지 표출 struct ContentView: View { var body: some View { Image("dog") } } SwiftUI에서는 clipShape()를 통해 이미지를 Circle형태로 만들기가 매우 쉬움 struct ContentView: View { var body: some View { Image("dog") .clipShape(Circle()) //
Stack 뷰들을 나열할때 사용 뷰 간의 간격 설정에 용이 Stack 사용 방법 Preview에서 cmd + 클릭 > Embed in Stack을 사용해도 되지만, 코드에서 cmd + 클릭하여 생성도 가능 단축키로, cmd + shift + A로 오픈 Text 추가: shift + cmd + L 라이브러리 > Text struct ContentView: View { var body: some View { VStack { Text("Hello, world!") .font(.title) Text("sub text") } } } VStack의 생성자에서 alignment와 spacing 설정이 가능 struct ContentView: View { var body: some View { VStack(alignm..
SwiftUI Interface를 SwiftUI로 설정하여 생성 파일은 Landmark 프로젝트와 그 하위에 폴더가 존재하고, .swift파일은 두 가지가 존재 (+ preview도 존재) LandmarkApp ContentView LandmarkApp.swift 파일 앱의 윈도우를 관리하는 파일이며, ContentView()를 부르고있는 형태 // LandmarkApp.swift import SwiftUI @main struct LandmarkApp: App { var body: some Scene { WindowGroup { ContentView() } } } ContentView.swift 파일 ContentView라는 뷰 코드와 preview코드가 나누어져서 존재 import SwiftUI str..
구현 아이디어 PhotoService라는 클래스를 싱글톤으로 만든 후, 이 서비스를 통해서 앨범에 있는 사진을 꺼내오도록 구현 PhotoService의 주요 메소드 getAlbums(): iOS에는 일반 앨범과 스마트 앨범이 있는데 이 앨범 정보들을 불러오는 메소드 getPHAssets(album:): 앨범을 파라미터로 주면 해당 앨범에 있는 이미지들 [PHAsset] 정보를 가져오는 메소드 fetchImages(asset:size:contentMode:): asset을 파라미터로 주면, 해당 asset을 UIImage로 변경하는 메소드 구현 UI 구성 ViewController에서 album버튼을 누르면 PhotoViewController 화면이 나오고, 이 화면은 collectionView와 pick..
카메라 사용 구현 아이디어 카메라 권한 요청 거부한 상태라면 setting화면으로 이동하는 alert 오픈 AVCaptureDevice.requestAccess(for: .video) { ... } 카메라를 여는 가장 단순한 방법인 UIimagePickerController를 present 사진을 찍었을 때 사진 찍은것을 확인할 수 있는 방법인, delegate를 사용 pickerController.delegate = self extension ViewController: UINavigationControllerDelegate, UIImgePickerControllerDelegate { func imagePickerController(_:didFinishPickingMediaWithInfo:) { .....