일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CustomStringConvertible
- Arc
- MVP
- UIDynamicAnimator
- UIDocumentBrowserViewController
- Stanford cs193p
- UIGestureRecognizer
- CoreGraphics
- IOS
- JSONDecoder
- PhotoKit
- Codable
- Singleton Design Pattern
- Swift
- Git
- UIBezierPath
- Observable
- unowned
- 에어팟
- 오늘의성취도
- UIDocument
- uicollectionview
- JSONEncoder
- weak
- rxswift
- Hashable
- NSAttributedString
- AVFoundation
- reactivex
- Equatable
- Today
- Total
아직은 개린이
[부스트코스] 앨범 앱 본문
프로젝트 소개
-
Edwith 부스트코스 iOS 프로그래밍 과정의 네번째 프로젝트
-
Photos 프레임워크를 활용하여 내 사진첩의 사진을 컬렉션뷰로 보여주는 어플리케이션
개발 기간
-
3일
프로젝트 상세 스펙
[화면 1 - 앨범 목록]
-
어플리케이션에 처음 진입 시, 사진 라이브러리 접근 허용 여부를 물어봄
-
수락 시, 디바이스의 사진에 접근하여 기본 앨범과 사용자 커스텀 앨범을 가져옴
-
-
컬렉션 뷰의 셀을 선택하면 화면 2로 전환
[화면 2 - 앨범 내 사진 목록]
-
사진 다중 선택 기능
-
Navigation bar의 "선택" 버튼을 누르면 버튼의 타이틀이 "취소"로, Navigation Item의 title이 "항목 선택"으로 바뀜.
-
사진을 선택하면 선택한 사진의 윤곽선과 투명도를 변화해 선택되었음을 나타냄.
-
선택된 사진 장수가 Navigation item의 title에 즉각 반영.
-
"취소" 버튼을 누르면 선택된 사진이 해제되고 초기 상태로 돌아옴.
-
-
사진 정렬 기능
-
초기 설정은 최신 사진이 제일 위에 오는 정렬순.
-
Toolbar의 버튼을 누르면 최신순/과거순 토글로 사진의 순서가 변경
-
Toolbar의 버튼을 누르면 현재 상태에 따라 버튼의 타이틀이 변경
-
-
공유 기능
-
공유 버튼은 기본적으로 비활성화
-
사진이 선택 모드에 들어가 선택된 사진이 1장 이상일 때만 활성화
-
선택된 사진을 이미지로 공유하는 창을 띄움
-
-
삭제 기능
-
사진이 선택 모드에 들어가 선택된 사진이 1장 이상일 때만 활성화
-
이미지 선택 후 활성화된 버튼을 탭하면 선택된 사진을 삭제
-
-
사진을 선택하면 화면 3으로 전환
[화면 3 - 단일 사진]
-
즐겨찾기 기능
-
사진이 즐겨찾기 되어있는지 아닌지를 표시
-
토글 기능으로 즐겨찾기 설정 가능
-
에셋에 반영하여 iOS 기본 사진 어플리케이션에도 반영됨
-
-
공유 기능
-
삭제 기능
-
현재 화면에 보이는 사진을 삭제하며, 에셋에 반영하여 iOS 기본 사진 어플리케이션에서도 삭제됨.
-
사진을 삭제 완료하면 이전 화면으로 되돌아감
-
-
사진 확대/축소 기능
-
pinch gesture를 이용하여 확대/축소
-
사진을 터치하거나 확대/축소 할 때는 toolbar와 navigationbar가 사라짐.
-
배운점
-
Photos Framework
-
PHPhotoLibraryChangeObserver Protocol
-
OperationQueue
-
UIScrollView
-
UIActivityViewController
-
UINavigationItem
'Project' 카테고리의 다른 글
[App 제작] 오늘의 성취도 (0) | 2020.02.20 |
---|---|
[부스트코스] 영화 정보 앱 (0) | 2020.02.13 |
[부스트코스] 날씨 정보 앱 (0) | 2020.02.12 |
[부스트코스] 회원가입 화면 구현 (2) | 2020.02.12 |
[부스트코스] 음원 재생 앱 (0) | 2020.02.12 |