일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- SWIFT
- MVVM
- Protocol
- tableView
- 클린 코드
- 리펙터링
- Clean Code
- uitableview
- Human interface guide
- ribs
- UITextView
- 리펙토링
- swiftUI
- rxswift
- combine
- uiscrollview
- Xcode
- collectionview
- RxCocoa
- 애니메이션
- map
- ios
- UICollectionView
- swift documentation
- Observable
- Refactoring
- HIG
- Today
- Total
목록swiftUI (158)
김종권의 iOS 앱 개발 알아가기
* SwiftUI Sample 앱 살펴보기 전체 목차는 여기 참고TabView 개념SwiftUI에서의 TabView는 선언적으로 매우 직관적으로 사용이 가능Text 밑에 TabView를 표현하고 싶은 경우?아래 코드에 TabView 블록을 추가struct ContentView: View { var body: some View { Text("Hello, world!") .padding() }}(TabView 추가)struct ContentView: View { var body: some View { Text("Hello, world!") .padding() TabView { // 이제 화면 A, B, C 뷰를 넣고 싶은 경우, 차례로 연달아서 넣기struct Cont..
1. Navigation AppAbout Me, TabView 살펴보기Choose Your Own Story 살펴보기Date Planner 살펴보기 2. Presenting ContentOrganizing with GridsEditing GridsImage GalleryLaying Out Views3. Retrieving Content from a ServerMeme Creator4. Responding to User InputBubble LevelSeismometerRecognizing GesturesAnimating Shapes * 참고- https://developer.apple.com/tutorials/sample-apps/aboutme
@State, @Bindable 이란?@State 개념양방향 바인딩 (프로퍼티 뷰)@State는 Property wrapper로 구현되었으며 뷰의 상태를 표시해줄 목적으로 있는 키워드이 키워드로 프로퍼티를 선언하고 이 키워드를 뷰에 입력해주면, 이 프로퍼티가 변경되면 자동으로 뷰도 변경됨ex) string이라는 프로퍼티를 @State로 선언하고, 이 프로퍼티를 Text(string)으로 Text 뷰에 넣어준 후, string 프로퍼티 값을 변경해주면 자동으로 Text뷰에 반영됨import SwiftUIstruct ContentView: View { @State var string = "..." var body: some View { VStac..
1. List 형태 UI - @State를 활용하여 로딩 상태, 로드 상태, 실패 상태 띄우기2. List 형태 UI - pull to refresh, 페이지네이션 구현 방법 (List, refreshable, pagination, @Sendable)3. List 형태 UI - 검색된 결과 UI에 보여지게 하는 방법 (검색창, searchable)1, 2번 글 복습)SwiftUI에서는 @State 프로퍼티를 사용하면 손쉽게 상태 변경이 가능단순히 @State 프로퍼티만 변경해도 알아서 바인딩되어 뷰도 변경pull to refresh는 List의 메소드인 refreshable를 사용하면 되고, pagination은 onAppear을 통해서 쉽게 구현이 가능전체 코드: https://github.com/JK..
1. List 형태 UI - @State를 활용하여 로딩 상태, 로드 상태, 실패 상태 띄우기 2. List 형태 UI - pull to refresh, 페이지네이션 구현 방법 (List, refreshable, pagination, @Sendable) 3. List 형태 UI - 검색된 결과 UI에 보여지게 하는 방법 (searchable) 상태 처리 핵심 개념 - @State List형태의 UI를 구현하면 항상 로딩, 성공, 실패에 따라 UI를 다르게 보여주어야 하는데 이 때 SwiftUI의 @State를 활용하면 매우 쉽고 빠르게 구현이 가능 enum으로 로딩, 성공, 실패에 관한 정의를 하고 이 enum 타입의 프로퍼티를 @State로 선언하면 쉽게 상태 관리가 가능 목표) @State로 3가지 ..
1. Swift Charts 사용 방법 (#주식 차트, 주가) - BarMark 2. Swift Charts 사용 방법 (#주식 차트, 주가) - LineMark, RuleMark Swift Chart 개념 (이전에 알아본 개념) iOS 16+에서 사용가능 SwiftUI에서 제공하는 Chart를 사용하면 매우 쉽게 차트 그리기가 가능 LineMark 사용 LineMark: 그래프에서 (x, y)좌표들을 연결해 놓은 주식 차트 같은곳에서 사용 예제에 사용할 Date 구조체 정의 struct Data { let name: String = "jake" let date: Date let value: Int } let datas = [ Data(date: .now, value: 10), Data(date: .no..
SwiftUI의 Binding 바인딩이란 A가 변경될 때 같이 B도 변경해주어야하는 경우, A와 B를 바인딩 해놓으면 A가 변경되었을때 B는 자동으로 변경되게끔 하는 기법을 의미 SwiftUI에서의 바인딩은 property wrapper 형태로 존재 구체적인 @Binding 개념은 이전 포스팅 글 참고 Binding 인터페이스 @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *) @frozen @propertyWrapper @dynamicMemberLookup public struct Binding { public var transaction: Transaction public init(get: @escaping () -> Value, set: @e..
1. Live Activity (ActivityKit, Dynamic Island, 잠금 화면) - 개념 2. Live Activity (ActivityKit, Dynamic Island, 잠금 화면) - UI 구현 방법 3. Live Activity (ActivityKit, Dynamic Island, 잠금 화면) - UIKit에서 다이나믹 아일랜드 적용 방법 예제를 위한 UIKit 프로젝트 생성 Interface > SwiftUI가 아닌 Storyboard 선택 info.plist에서 Live Activity 활성화 Xcode에서 target 선택 Widget Extension 추가 생성된 것 중 필요한 두 가지 파일 확인 JakeBundle: body가 있으며 여러 위젯을 노출할때 사용되는 컨테이너..