일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Xcode
- 리펙터링
- Clean Code
- clean architecture
- rxswift
- tableView
- UICollectionView
- swiftUI
- ios
- MVVM
- HIG
- uitableview
- RxCocoa
- 스위프트
- 클린 코드
- 리팩토링
- Human interface guide
- 애니메이션
- Protocol
- uiscrollview
- combine
- SWIFT
- ribs
- Refactoring
- map
- swift documentation
- UITextView
- 리펙토링
- collectionview
- Observable
- Today
- Total
목록검색창 (4)
김종권의 iOS 앱 개발 알아가기
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..
네비게이션 바 검색 창 검색 창 구현 방법 List에 띄울 뷰와 데이터 모델 준비 struct SomeView: View { var name: String var body: some View { Text(name) } } struct SomeData: Identifiable { var name: String var id: String { self.name } } ContentView에 필요한 프로퍼티 준비 searchQueryString: 검색창에서 값을 입력할 때 입력될 프로퍼티 datas: 리스트에 표출할 데이터 filteredDatas: 검색 결과 필터링된 데이터 * 대소문자 상관 없이 검색하기 위해서 string.contains()가 아닌, string.localizedStandardContai..
dataSource와 filterDataSource 따로 두고, 검색창이 활성화 된 상태 && 글자가 한글자라도 입력되면 filterDataSource 표출 filterDataSource는 UISearchResultsUpdating의 updateSearchResults(for:) 델리게이트에서 업데이트 구현 방법 viewController에 navigationController embed 상태 dataSource는 2벌 준비 (전체 dataSource, filterDataSource) var dataSource: [String] = ["iOS", "iOS 앱", "iOS 앱 개발", "iOS 앱 개발 알아가기", "iOS 앱 개발 알아가기 jake"] var filteredDataSource: [Stri..
UI 포인트 leftView, rightView padding 설정 eftViewRect 설정, rightViewRect 설정 textRect(bounds:): 입력중이 아닌 resignFirstResponder 상태일 경우의 입력된 text 위치 editingRect(bounds:): 입력중의 텍스트 위치 placeholderRect(bounds:): placeholder의 위치 delegate를 통해 특정 타이밍에 leftView, rightView 사라지게 하는 방법 textFieldDidBeginEditing(:): 포커스를 얻은 경우 textFieldDidEndEditing(:): 포커스를 잃은 경우 textField(:shouldChangeCharactersIn:replacementString..