기존 UISheetPresentationController에는 Detents가. medium과. large 뿐이었다. iOS16부터는 Custom Detents를 이용해 Sheet의 높이를 직접 설정해줄 수 있게 되었다. 직접 해보자. WWDC2022 What's new in UIKit을 참고했다. 높이 200인 Detent를 detents배열에 추가해 주었다. sheet.detents = [ .custom{ _ in 200.0 } ] 최대 높이를 기준으로 높이를 설정할수도있다. sheet.detents = [ .custom{ context in 0.3 * context.maximumDetentValue } ] Custom Detent에 identifier를 줘서 sheet의 다른 프로퍼티에서 사용할 수..
WWDC2021에서 나온 UISheetPresentationController에 대해 알아보자. 공식 문서의 예제와 영상을 보고 공부해 보았다. Customize and resize sheets in UIKit - WWDC21 - Videos - Apple Developer Discover how you can create a layered and customized sheet experience in UIKit. We'll explore how you can build a non-modal experience in... developer.apple.com Get Sheet 먼저 ViewController를 Navigation Controller에 Embed 하고 BarButtonItem을 추가해 주었다..
여러 앱이나 웹에 위와 같은 배너가 사용되고 있고, 오픈 소스 라이브러리도 많이 있다. 개인적으로 UI가 이쁘다고 생각해 프로젝트에 적용도 해볼 겸 UICollectionView를 이용해 직접 구현해봤다. 이전 글인 iOS) UICollectionView Programmatically에서 만든 CollectionView를 사용했다. 구현해야 할 내용을 간단하게 정리해 보자면 다섯 가지가 있다. 셀 Size, Inset 조절 스크롤 시 셀이 가운데 위치 페이징 일정 시간마다 자동으로 스크롤 중앙에 위치하는 아이템의 사이즈를 조절 먼저 Cell의 Size와 을 조절해 Cell이 카드처럼 보이도록 만들어보자. 1. Cell Size, Inset 조절 Cell Size와 Inset은 UICollectionVie..
네이버 지도 SDK를 사용해보자. 네이버 공식 문서에 사용 방법이 자세하게 나와있다. iOS 시작 가이드 - Mobile Dynamic Map (v3) guide.ncloud-docs.com 1. 클라이언트 ID 발급 NAVER CLOUD PLATFORM 회원가입을 한 후 콘솔로 들어와 주자. 콘솔 좌측 인스펙터에 Services를 누르면 사용 가능한 서비스들이 나온다. AI-NAVER-API의 Maps을 이용할 것이다. AI-NAVER-API 클릭하면 다음과 같은 화면이 나온다. 먼저 Application 등록을 진행해주자. Application 이름을 설정하고 사용할 Mobile Dynamic Map을 선택한다. 그리고 아래쪽에 iOS Bundle ID를 입력해주자. 프로젝트의 Bundle ID를 입..
UILabel과 UIFont에 Extension을 추가해서 위와 같은 label을 만들어보자. 스토리 보드에서 StackView에 UILabel 두 개를 추가해주었다. 나머지 작업은 모두 코드로 진행한다. UIFont+Ext.swift import UIKit enum SFProFontStyle { case regular, semibold, bold, light } extension UIFont { func SFProFont(style: SFProFontStyle, size: CGFloat) -> UIFont { var font = "" switch style { case .regular: font = "SFPro-Regular" case .semibold: font = "SFPro-Semibold" ca..
UIView에 테두리를 추가해보자. UIView를 상속받는 UIImageView에 적용해 보겠다. Border imageView.layer.borderWidth = 25 imageView.layer.borderColor = UIColor.lightGray.cgColor 굵기는 25로 lightGray 색상의 테두리를 추가했다. 매우 간단하다. 추가로 공부하다가 발견했는데 top, bottom, left, right 중 원하는 방향에만 테두리를 추가하는 방법도 있다. iOS) View 원하는 부분만 테두리 넣어주기 안녕하세요. iOS 개발을 하고 있는 Myoung 입니다. UI를 그리다보면 BorderWidth 와 BorderColor를 이용해서 View의 테투리를 그려줄때가 많습니다. 일반적으로 bord..
UserDefaults와 CoreData에 이어서 Realm을 알아보자. Realm Home Build better apps, faster realm.io Why Use Realm ? Realm은 Core Data, SQLite보다 심플하다. iOS와 Android 모두 지원한다. Zero-copy 디자인 덕분에 빠르다. 바로 사용해보자 설치 Install Realm for iOS, macOS, tvOS, and watchOS — Realm Realm Database should only add around 5 to 8 MB to your app's download size. The releases we distribute are significantly larger because they include..
Core Data란? Core Data는 단일 기기 앱의 오프라인 환경에서 영구적인 데이터를 저장하고, 임시 데이터를 캐시 한다. 그리고 앱에 실행 취소 기능을 추가한다. iClound를 사용해 여러 기기의 데이터를 동기화할 수 있다. Core Data의 데이터 모델 에디터를 통해 데이터의 타입과 관계를 정의할 수 있고 각각의 클래스 정의를 생성한다. 그러면 런타임에 객체 인스턴스를 관리하며 다음과 같은 기능을 제공한다. • Persistence • Undo and Redo of Individual or Batched Changed • Background Data Tasks • View Synchronization •Versioning and Migration Apple Developer Docume..
- Total
- Today
- Yesterday
- swift
- crud
- sheetPresentationController
- BOJ 10799
- CAGradientLayer
- Sheet Height
- autolayout
- UICollectionView banner
- 2023 회고
- BOJ 17413
- 요시푸스
- Card CollectionVIew
- Stack
- 1406 에디터
- BOJ 10820
- NaverMaps
- Custom Detent
- Carousel Effect
- BOJ 17298
- ios
- BOJ 10809
- git
- BOJ 10866
- github
- BOJ 1935
- Algorithm
- BOJ 10808
- UICollectionView Error
- Gradient View
- bottom sheet
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |