일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 클린 코드
- 스위프트
- MVVM
- RxCocoa
- ribs
- collectionview
- UICollectionView
- uiscrollview
- UITextView
- HIG
- tableView
- 리펙터링
- ios
- 애니메이션
- Human interface guide
- Protocol
- swiftUI
- combine
- 리펙토링
- rxswift
- Xcode
- 리팩토링
- Observable
- SWIFT
- uitableview
- clean architecture
- Refactoring
- map
- swift documentation
- Clean Code
- Today
- Total
목록HIG(Human Interface Guidelines)/HIG - UI (61)
김종권의 iOS 앱 개발 알아가기
iOS 디자인 테마 미적 무결성 심각한 작업을 수행하는 화면: 집중력을 올릴 수 있도록 > 눈에 잘 띄지 않는 그래픽, 표준 컨트롤 사용, 예층 가능한 동작 유도 일관성 사람들이 기대하는 방식으로 기능이 동작하도록, 시스템에서 제공하는 인터페이스 요소, 아이콘, 표준 텍스트 스타일, 통일된 패러다임 구축 직접 조작성 제스처에 관한 즉각적이고 가시적인 결과를 경험할 수 있도록 설계 피드백 탭 > 컴포넌트가 강조되는 효과 앱에서 특정 시간이 걸리는 작업 > 진행률 표시 결과 > 애니메이션과 사운드를 통해 작업 결과를 명시 은유 신문앱 > 실제 신문을 넘기는 듯이 스와이프를 통해 페이지를 넘기도록 설정 사용자 제어 iOS 전체에서 앱이 아닌 사람이 제어하도록 설계 위험한 작업에 대해 경고할 수 있지만 앱이 의..
Cell 이동 애니메이션 적용 아이디어 CGPoint값을 가지고 tableView에서 cell의 위치를 알 수 있는 것: let indexPath = tableView.indexPathForRow(at:) UIGraphics를 통해 스냅샷을 찍어서, 그 스냅샷 이미지에 shadow 속성 부여 후 tableView.addSubview(스냅샷 뷰) 함수 내에 struct, static let으로 할당하여, 최초 longPressed할 때의 indexPath값을 head 메모리에 저장 longPressed의 .changed 상태가 연속적으로 일어나므로 여기에서 스냅샷 뷰의 center좌표를 바꾸어줌으로써 이동 동시에 dataSource도 swap 사용 Cell 사용 Edit모드는 지양할 것 > 버튼을 눌러서 ..
자주 사용되는 것 Presentation Style: Cover Vertical, Cross Dissolve Presentation: Automatic, Full Screen Transition Style Cover Vertical Flip Horizontal Cross Dissolve - Dissolve: 녹이다 Partical Curl: Swipe에서 할 경우 runtime error Presentation Automatic, Page Sheet, Form Sheet Full Screen, Current Context
1. iOS 스러운, storyboard 활용 방법 (static prototype cell, segue, gesture) 2. iOS 스러운, storyboard 활용 방법 (dynamic prototype cell, unwind segue, storybaord reference) 플레이어 목록 DataSource 추가 Player 데이터 추가 struct Player { var name: String? var game: String? var rating: Int } PlayersDataSource 추가 PlayersDataSource import UIKit class PlayersDataSource { // MARK: - Properties var players: [Player] static func..
1. iOS 스러운, storyboard 활용 방법 (static prototype cell, segue, gesture) 2. iOS 스러운, storyboard 활용 방법 (dynamic prototype cell, unwind segue, storybaord reference) storyboard 활용 (UI, flow) 목적: code 없이 storyboard만을 이용하여 플로우, UI 구현 code없이 storyboard를 사용하는 이유: 빠른 생산성, 직관성 1번 챕터에서 storyboard로 화면을 빠르게 만들며 prototype을 잡은 후 2번 챕터에서 controller를 통해 데이터 다루는 형식 앱 구현 방식: 디자인, flow prototype -> 로직 구현 프로젝트 플레이어 목록 ..