이번 포스트에서는 특정 월에 대하여 각 주 별로 월요일과 일요일에 해당하는 날짜를 리스트로 반환하는 방법에 대해 알아보고자 합니다. 예를 들어 2022년 4월의 경우, (2022.04.01 금, 2022.04.03 일) (2022.04.04 월, 2022.04.10 일) (2022.04.11 월, 2022.04.17 일) (2022.04.18 월, 2022.04.24 일) (2022.04.25 월, 2022.04.30 토) 와 같이 날짜 범위를 추출하고 싶을 경우가 있을텐데요 아래 코드로 구현이 가능합니다. 아래 코드는 Date에 대한 extension으로 구현한 함수입니다. extension Date { // 여기에 아래 함수를 넣으시면 됩니다. } 실제 기능을 구현하는 함수는 아래와 같습니다. fun..
이번 포스트에서는 WWDC 2015에 소개된 Mysteries of AutoLayout Part.2에 대한 내용을 간략하게 정리해보고자 합니다. Mystery #7. Layout Cycle Application Run Loop : Application이 계속 반복적으로 실행됩니다. Constraints Change : 제약조건에 변화가 생기면 변화된 제약조건이 적용될 때까지 Calculated Layout이 정의됩니다. Deferred Layout Pass : 위에서 언급된 레이아웃이 최종 변경될 때까지 Deferred Layout Pass가 예약됩니다. 모든 Layout Pass가 되돌아 오게 되면, 뷰의 Hierarchy를 거쳐 뷰의 모든 프레임을 업데이트하게 됩니다. Constraints Chang..
이번 포스트에서는 Auto Layout을 코드로 구현하는 방법에 대해 알아보고 Auto Layout을 유용하게 사용할 수 있는 라이브러리인 SnapKit을 사용하여 구현하는 방법에 대해 알아보도록 하겠습니다. 1. Storyboard에서 Auto Layout을 구현하는 방법과 Code로 구현하는 방법의 차이 우리가 처음 iOS 개발을 공부하면 대부분 예제가 Storyboard를 사용하여 View를 구성합니다. 직관적이고 간편하게 마우스 컨트롤을 통해 Auto Layout을 적용할 수 있다는 점이 매력적입니다. 하지만, 장점이 있다면 단점도 존재하는 법! Storyboard로 Auto Layout을 구현하는 방법이 갖는 단점에 대해 살펴보고 코드로 구현하는 방법과 어떤 차이가 있는지 알아보도록 하겠습니다...
이번 포스트에서는 Keychain을 사용하여 안전하게 데이터를 저장하고 불러오는 방법에 대해 살펴보고자 합니다. Keychain은 디바이스 안에 암호화된 데이터 저장 공간을 의미합니다. 사용자는 암호화된 공간에 데이터를 안전하게 보관할 수 있습니다. Keychain에 저장할 수 있는 데이터는 다양한 데이터가 포함될 수 있습니다. 사용자 계정 정보를 비롯하여 결제 지불 정보, 사용자 개인 정보 등 민감한 데이터를 모두 저장할 수 있습니다. 현재까지 Keychain 영역이 외부 침입자에 의해 뚫렸다는 소식이 없었을 만큼 안전한 공간입니다. Keychain Service는 Keychain Service API를 통해 데이터를 암호화할 후 Keychain에 저장하게 됩니다. 아래 그림을 살펴보면 이해에 도움이 ..
이번 포스트에서는 Swift UI에서 제공하는 기본적인 View 속성과 Container의 자식 View 개수 제한을 해결해보는 내용에 대해 살펴보도록 하겠습니다. Swift UI View Stack Swift UI는 VStack, HStack, ZStack이라는 3가지 Stack Layout View를 제공하고 있습니다. VStack은 수직으로 View를 배치하는 레이아웃이며 HStack은 View를 가로로 배치하는 레이아웃, ZStack은 View를 중첩이 되도록 배치하는 레이아웃을 의미합니다. 예를 들어, 다음과 같이 VStack에 3개의 Text가 있다면 세로로 3개의 View가 배치되는 것입니다. struct ContentView: View { var body: some View { VStack..
이번 포스트에서는 Apple에서 새로 발표한 Swift UI에 대해 살펴보도록 하겠습니다. Apple 공식 문서에 써있는 Swift UI 소개 글귀를 발췌하였습니다. SwiftUI는 Swift의 성능을 바탕으로 모든 Apple 플랫폼에서 사용자 인터페이스를 구축할 수 있는 혁신적이고 간소화된 방법입니다. 단 하나의 도구 구성 및 API를 통해 모든 Apple 기기에서 사용할 수 있는 사용자 인터페이스를 구축합니다. 읽기 쉽고 작성하기 편한 선언적 Swift 구문을 통해 SwiftUI는 새로운 Xcode 디자인 도구와 매끄럽게 연동되면서 코드와 디자인이 완벽하게 동기화되도록 합니다. 또한 유동적 글자 크기 조절, 다크 모드, 현지화 및 손쉬운 사용을 자동 지원하므로 SwiftUI 코딩 첫 줄부터 가장 강력..
이번 포스트에서는 UIView를 Image로 Rendering하여 앨범에 저장하는 방법에 대해 살펴보도록 하겠습니다. 권한 추가 우선 앨범에 접근을 해야 하므로 접근 권한을 요청하여야 합니다. info.plist에 아래와 같이 "App Transport Security~", "Allow Arbitrary Loads = YES"항목을 추가해주시기 바랍니다. Storyboard 생성 및 레이아웃 구성 Sample로 뷰를 스토리보드에 배치하도록 합니다. 저는 중첩된 View도 이미지로 변환할 수 있는지 검증하기 위하여 2개의 View를 겹쳐 구성하였으며 각 View에는 다른 배경색상을 적용하였습니다. Image Rendering하고 앨범에 저장하기 실제로 View를 이미지로 렌더링하고 앨범에 저장하는 기능을 ..
이번 포스트에서는 UINavigation Controller를 사용하는 경우에 Status Bar의 Style이 제대로 적용되지 않는 문제에 대해 정리해보도록 하겠습니다. 보통 View Controller에서 StatusBar Style을 설정하는 메소드는 override var preferredStatusBarStyle: UIStatusBarStyle { return .lightContent } 와 같이 사용할 수 있었는데요, iOS 13.0부터는 이 방법이 절대적인 방법이 아니게 되었습니다. iOS 13.0 이상에서 UINaviation Controller를 사용할 경우에는 위와 같이 설정한 lightContent가 적용이 되다가, Navigation Controller로 인해 새로 변경되는 현상을 ..
- Total
- Today
- Yesterday
- 오토레이아웃
- databinding
- Auto Layout
- 아이폰
- 코틀린
- java
- Elliotable
- Rxjava
- watchos
- XCode
- apple
- 컬렉션
- 스위프트
- ios
- android
- SwiftUI
- Apple Watch
- Notissu
- retrofit
- 알고리즘
- CloudComputing
- 상속
- 안드로이드
- 함수형프로그래밍
- Kotlin
- C++
- 애플워치
- Reactive programming
- Swift
- 함수형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |