안녕하세요 ^~^ 이번 글에서는 저번 글에 이어 사진첩의 사진을 삭제해보려고 합니다. 물론 이번에도 스토리보드는 사용하지 않을 거예요. 우선 저번 글에서 구현한 마지막 모습을 보고 진행하도록 하겠습니다. 그럼 이제 여기서 사진을 삭제할 수 있도록 만들어볼까요? 우선 Photos 프레임워크에서 사진이 삭제되었다는 것을 알기 위해서는 PHPhotoLibraryChangeObserver 프로토콜을 채택해야 합니다. 근데 이렇게 하면 위의 사진처럼 오류가 발생하는데요 이는 추가한 프로토콜에 필요한 메서드를 정의하지 않았기 때문입니다. 이러한 메서드를 추가해주시면 추가한 프로토콜이 잘 작동됩니다. 참고로 추가한 메서드는 이름만 봐도 알 수 있지만 포토라이브러리의 변화를 관찰하는 옵저버입니다. 즉 이번에 저희가 사..
모든 것을 스토리보드 없이 코드로 만들어보려고 노력 중인데요, 그래서 이번 글에서는 스토리보드 없이 네비게이션 컨트롤러를 만들어 보려고 합니다. 우선 스토리보드를 삭제하는 작업과 셋팅은 [iOS 앱개발 프로그래밍] 스토리보드(Storyboard) 없이 iOS 앱 개발하기 - 1를 참고해주세요! 스토리보드가 없이 앱을 실행했을 때 시작화면을 세팅하기 위해서는 SceneDelegate.swift 파일을 수정해주면 됩니다. 위와 같이 수정해주면 네비게이션내비게이션 컨트롤러가 추가되고 첫 번째 화면은 네비게이션 컨트롤러가 적용된 FirstViewController가 됩니다. 그렇다면 이번엔 FirstViewController를 구분 가능하도록 간단히 수정해보겠습니다. 그냥 간단하게 네비게이션 아이템의 타이틀을 ..
지난 글에 이어 이번 글에서는 아이폰에 저장되어있는 사진들로 컬렉션 뷰를 채워보는 작업을 해보도록 하겠습니다. 이렇게 iOS에서 사진이나 비디오들을 다루기 위해선 PhotoKit을 사용해야 합니다. 여기서 간단하게 iOS의 Photos 프레임워크가 사진과 동영상을 취급하는 모습을 그림으로 나타내 보겠습니다. 위의 그림과 같이 iOS의 사진과 비디오는 3 계층으로 되어있는데 간단하게 말하면 Asset과 Asset을 모은 Asset Collection, Asset Collection을 모은 Collection List로 구성됩니다. Asset은 사진이나 비디오 파일을 말하며 Asset Collection은 앨범이나 사진 폴더라고 보면 쉽습니다. 그리고 이러한 폴더들을 모아둔 것이 Collection List..
안녕하세요! 이번 글은 iOS에서 간단한 사진앱을 만들어보기 위한 첫 번째 글이에요! 이번 글에서는 사진앱을 위한 컬렉션 뷰를 스토리 보드 없이 만들어 보려고 합니다. 스토리 보드 없이 개발하는 방법은 아래 링크에서 확인하실 수 있어요. [iOS 앱개발 프로그래밍] 스토리보드(Storyboard) 없이 iOS 앱 개발하기 - 1 그럼 이제 컬렉션 뷰를 스토리보드 없이 만들어 보겠습니다! 우선 이번에 구현할 컬렉션 뷰라는 것이 어떤 것인지 먼저 보고 넘어가는 게 좋을 것 같아요. 위와 같이 간단하게 사진을 나열하는 컬렉션 뷰를 만들어 보려고 합니다. 우선 컬렉션 뷰는 CollectionView, CollectionViewCell, CollectionViewDataSource, CollectionViewDe..
저번 글에 이어 이번 글에서는 스토리보드 없이 만들어진 화면에 버튼과 레이블, 이미지 뷰를 추가해보려고 합니다! 우선 완성된 화면을 먼저 보여드리고 진행하도록 하겠습니다. 아주 간단하게 만든 앱으로 스토리보드 없이 오토 레이아웃 적용하기, 버튼 눌렀을 때 이벤트 생성하기 정도의 글입니다. 물론 스토리보드를 이용하면 아주 간단하게 만들 수 있지만 스토리보드가 없는 상황에선 은근히 많은 코드가 필요합니다. 저번에 만들어 둔 MyViewController.swift 파일에 코드를 작성하면 위와 같은 결과를 얻어낼 수 있습니다. 먼저 버튼을 추가해보겠습니다. 위의 코드와 같이 작성하면 오른쪽 사진과 같이 버튼하나가 추가됩니다. 오토 레이아웃을 설정하는 부분이 어려웠는데 self.view의 경우에는 전체 화면이라..
iOS 개발 공부를 하면서 새 프로젝트를 생성하면 기본적으로 생성되어있던 여러 가지 Swift파일들과 Main.Storyboard로 바로 개발을 시작했었는데, 이러한 파일들은 무슨 역할을 하는 것이며 Storyboard 없이 개발하는 방법은 없을까를 알아보았고 실제로 스토리보드 없이 개발하는 방법을 기록해두러고 합니다. 실제 현업에서는 스토리보드 없이 개발을 진행하는 곳도 많다고 하니 꼭 알아야 할 것 같습니다. 우선 프로젝트를 만들 때 템플릿을 아래와 같이 설정합니다. 그다음 User Interface에서 Storyboard를 선택하고 프로젝트를 생성합니다. 이렇게 프로젝트를 생성하면 아래와 같은 파일들이 자동적으로 생성되어있습니다. 여기서 이번 글에서 중점적으로 볼 것은 Main.storyboard ..
iOS 앱에서도 그렇고 우리는 많은 곳에서 return(엔터키) 키를 사용하여 여러 가지 작업을 편리하게 하는 경우가 많다. 예를 들어 로그인을 하려고 할 때 모든 정보를 입력하고 엔터를 누르면 로그인 버튼을 누르지 않고도 로그인이 가능하게 하는 기능이 있다. 이러한 동작을 iOS 앱의 UITextField에서 사용할 수 있게 프로그래밍을 해보자 이러한 기능을 쉽게 구현하기 위해 textFieldShouldReturn이라는 메서드를 사용할 수 있는데 해당 메서드의 정보는 Apple 공식 문서 - textFieldShouldReturn여기서 볼 수 있다. Declaration - (BOOL)textFieldShouldReturn:(UITextField *)textField; 이 메서드의 코드가 UIText..
iOS에서는 View가 화면에 나타나거나 사라질 때 호출되는 메서드들이 정의되어있다. 그중 오늘 시행착오를 겪은 viewWillAppear에 대한 글을 작성하려고 한다. Declaration func viewWillAppear(_ animated : Bool) Discussion 이 메서드 이름 그대로 해석하게 되면 뷰가 곧 나올 것이라고 예상될 때 호출된다고 볼 수 있다. 이는 xcode에서 프로젝트를 생성 시 자동으로 생성되는 viewController.swift의 viewDidLoad 메서드와 큰 차이점이 있다. viewDidLoad는 처음 뷰가 나타날 때 한 번만 호출되지만 viewWillAppear은 뷰가 나타날 때마다 호출된다. 즉 뷰가 보일 때마다 새로운 작업을 하고 싶을 때 사용하면 좋다...
- Total
- Today
- Yesterday
- 코테
- operating
- design
- 스위프트
- 코딩테스트
- dfs
- 자료구조
- 프로그래밍
- pattern
- Xcode
- 문법
- Publisher
- 아이폰
- Combine
- Swift
- OSTEP
- operator
- 동시성
- document
- System
- Apple
- 앱개발
- DP
- OS
- 알고리즘
- BFS
- IOS
- mac
- 백준
- 테이블뷰
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |