Xcode 프로젝트에 이미지 자르기(crop) 기능 추가: iOS Swift 라이브러리 Mantis 사용 (스토리보드)

Xcode 프로젝트에 이미지 자르기(crop) 기능 추가: iOS Swift 라이브러리 Mantis 사용 카메라 또는 사진을 선택하면 화면에 보여주는 프로젝트가 있는데, 여기서 선택 후 화면에 표시하기 전 크롭(crop) 기능을 이용해 이미지를 자르는 기능을 추가하고자 합니다. Swift(스위프트): 카메라 및 사진 라이브러리 권한 물어보기 + UIImagePickerController를 이용한 사진 추가 (스토리보드)   직접 구현하려면 매우 더보기…

Xcode 프로젝트에 코코아팟(CocoaPods) 설치 및 디펜던시 추가 방법

Xcode 프로젝트에 코코아팟(CocoaPods) 설치 및 디펜던시 추가 Xcode를 이용해서 iOS 프로젝트 등을 개발할 때 서드파티 라이브러리를 사용할 일이 많은데, 대다수 라이브러리들이 CocoaPods(코코아팟)라는 디펜던시 관리자를 이용해 프로젝트 내에 설치해야 합니다.   1. CocoaPods가 설치되지 않았다면 터미널 실행 후 아래 커맨드를 이용해 설치합니다. 인텔(Intel) CPU가 설치된 맥 sudo gem install cocoapods   더보기…

Swift(스위프트): 카메라 및 사진 라이브러리 권한 물어보기 + UIImagePickerController를 이용한 사진 추가 (스토리보드)

Swift(스위프트): 카메라 및 사진 라이브러리 권한 물어보기 + UIImagePickerController를 이용한 사진 추가 (스토리보드) 기본적으로 아래 글과 동일한 내용이나 사용성이 개선되었습니다. Swift (스위프트): 사진 라이브러리, 카메라 사용 (스토리보드)   코드 목록 코드에 대한 설명은 밑에 있습니다. This file contains bidirectional Unicode text that may be interpreted or compiled differently than what 더보기…

Swift(스위프트): Codable을 사용하여 사용자 정의 오브젝트를 UserDefaults에 저장 (프로토콜 지향 접근 방식)

원문 Save custom objects into UserDefaults using Codable in Swift 5.1 (Protocol Oriented Approach)   Swift(스위프트): Codable을 사용하여 사용자 정의 오브젝트를 UserDefaults에 저장 (프로토콜 지향 접근 방식) iOS는 Int, String, Float, Double, Bool, URL, Data 또는 이러한 유형의 컬렉션과 같은 UserDefaults에 직접 저장할 수 있는 여러 유형의 객체를 지원합니다. 하지만 더보기…

Swift(스위프트): 컬렉션 뷰의 셀을 길게 누르면(long press touch) 애니메이션 나타나도록 하기

참고 iOS 프로그래밍: 컬렉션 뷰 (Swift, 스토리보드) – 컬렉션 뷰 추가, 커스텀 셀 작성   Swift(스위프트): 컬렉션 뷰의 셀을 길게 누르면(long press touch) 애니메이션 나타나도록 하기 개요 기존의 프로젝트 코드를 기반으로 롱 프레스 터치(길게 터치하기) 작업을 추가하고, 롱 프레스 시에 셀이 살짝 작아졌다 놓으면 다시 원상 복귀하는 애니메이션이 추가되도록 만들어 더보기…

Swift(스위프트): 배열의 reduce

Swift: 배열의 reduce 스위프트(Swift)에서 배열(Array)의 reduce 기능은 배열을 순회하면서 누산기(accumulator)에 값을 계속 쌓아놓고 최종적으로 누산기의 값을 반환하는 reducer의 기능을 수행하는 고차 함수입니다. reducer의 사전적 의미와 매칭이 잘 안되는데 어떤 물질에서 원액(누산기의 값)만 추출한다는 의미로 생각하면 될 것 같습니다. 누산기의 값은 줄어들지 않으며 리턴식은 누산기에 합산됩니다. 그리고 마지막까지 순회한 후 최종적으로 누산기의 값만을 반환한다는 특성을 더보기…

Swift(스위프트): 이미지를 그레이스케일로 변환

원문 Tutorial: Convert Images to Grayscale in Swift   개요 이 글에서 이야기하는 Swift의 이미지에 그레이스케일 적용하는 세 가지 방법은 다음과 같습니다. 그레이스케일로 변환 가능하지만 화질을 유지하려면 시간이 걸리는 CIFilter 시간이 덜 걸리고 한 번에 여러 이미지에 적용할 수 있지만 투명한 요소(transparent elements)를 색상으로 바꾸는 CoreGraphics 필터 Swift UI에서 View에 더보기…

Swift(스위프트): 앱 아이콘 변경 기능 만들기

순서 기본 아이콘 및 추가 아이콘 이미지 파일 사이즈별로 준비 아이콘 변경 UI 만들기 info.plist 파일 변경 UI의 컨트롤러에 아이콘 변경 기능 부분 코드 추가   Swift(스위프트): 앱 아이콘 변경 기능 만들기 iOS 10 버전부터 아이폰/아이패드 홈 스크린의 앱 아이콘을 동적으로 변경할 수 있는 기능이 추가되었습니다. 이 기능을 추가하면 앱 더보기…

Swift(스위프트): 튜토리얼을 통한 디자인 패턴: MVVM (Model-View-ViewModel) 2

원문 MVVM in iOS Swift   새 애플리케이션을 구축할 때마다 항상 새 프로젝트에 어떤 아키텍처 패턴을 선택해야 하는지에 궁금할 수 있습니다. iOS에서 가장 많이 사용되는 아키텍처 패턴은 MVC입니다. 대부분의 개발자는 프로젝트에 MVC 패턴을 사용합니다. 소규모 프로젝트에는 MVC가 잘 작동하지만 프로젝트 크기가 증가하기 시작하면 소스 코드가 지저분해지기 시작합니다. 아키텍처 패턴을 사용하는 더보기…

Swift(스위프트): 튜토리얼을 통한 디자인 패턴: MVVM (Model-View-ViewModel) 1

  원문 Design Patterns by Tutorials: MVVM   버전 Swift 4 iOS 11 Xcode 9   튜토리얼을 통한 디자인 패턴: MVVM (Model-View-ViewModel) 上 MVVM(Model-View-ViewModel)은 오브젝트를 세 개의 개별 그룹으로 분리하는 구조적인 디자인 패턴입니다. 모델(Model)은 애플리케이션 데이터를 보유합니다. 일반적으로 구조체(struct) 또는 간단한 클래스(class)입니다. 뷰(View)는 화면에 시각적 요소와 컨트롤을 표시합니다. 일반적으로 UIView의 더보기…