swiftUI7 [Swift-SwiftUI iOS 프로그래밍] 프로퍼티 래퍼 ( Property Wrapper ) 안녕하세요🐶빈지식 채우기의 비니🙋🏻♂️ 입니다. 최근에 프로젝트에서 SwiftUI 를 사용할 일이 있었습니다.평소에 SwiftUI에 대해 사용할 일이 많기 없었기 때문에 구글링을 통해 배껴서(?) 작업을 했는데,점점 더 활용도가 높아져 공부할 필요성을 느껴 핵심만 골라 배우는 SwiftUI 기반의 iOS 프로그래밍 이라는 책을 구매했습니다.공부하다가 정리하면 좋을 내용이 있어 작성하게 되었습니다.오늘의 주제는 프로퍼티 래퍼 라는 내용입니다.바로 가시죠~1. 프로퍼티 래퍼 이해하기실제로 우리가 작업할때,여러 클래스나 구조체에 생성한 연산 프로퍼티들이 유사한 패턴을 갖는 경우가 빈번하게 발생한다.간단하게 로직을 공유하는 방법은 유사한 패턴의 코드를 복사하여 각각의 클래스나 구조체에 포함시키는 것이였다.. 2024. 10. 28. [Swift] Content Mode ( Scale To Fill / Aspect Fit / Aspect Fill ) 안녕하세요🐶빈지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 원본 이미지 크기 및 비율에 따라 어떻게 보여지는지에 대해 알아보도록 하겠습니다.바로 가시죠!1. 개요우리는 UIImageView에 이미지를 넣을 때 어떤 비율로 넣을 지 고민할때가 많습니다.이럴 때 View 의 ContentMode 를 사용하는데 자세한 속성을 한번 알아보도록 하겠습니다.Fit : 이미지가 ImageView 에 꽉 차지 않고 비율에 따라 다르게 보여짐Fill : 이미지가 Imageview 에 비율과 상관없이 꽉참 사용 될 원본 이미지는 아래와 같습니다.2. Scale To Fill// iv 는 UIImageView 입니다.iv.contentMode = .scaleToFill원본 비율에 따라 그려지지 않고, UIImageVie.. 2024. 10. 8. [SwiftUI] 커스텀 세로 슬라이더 ( Custom Vertical Slider ) 안녕하세요🐶빈지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 SwiftUI 를 통해 세로 슬라이더를 만들어보도록 하겠습니다. 위와 같이 구현을 해볼게요!1. 구현import Foundationimport SwiftUIstruct VolumeView: View { @State var sliderColor: UIColor // Slider 색상 @State var maxHeight: CGFloat // Slider 최대 길이 @State var sliderHeight: CGFloat // Slider 채워진 길이 @State var sliderProgress: CGFloat // Slider 채워진 퍼센트 @State .. 2024. 6. 14. [WWDC 2023] (4) Swift Macro 안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️입니다. 오늘의 포스팅은 WWDC 2023의 네 번째 - Swift Macro에 대해 알아보도록 하겠습니다. 1. 매크로의 예시 Swift 5.9 에 도입하였다. 반복적인 코드를 매크로를 통해 쉽게 여러 기능을 수행할 수 있다. 컴파일 시간에 반복 코드를 생성할 수 있고 코드를 읽기 쉽게 만들 수 있다. let calculations = [ ( 1 + 1, "1 + 1"), ( 2 + 3, "2 + 3"), ( 7 - 3, "7 - 3"), ... ( 3 * 8, "3 * 5") ] 첫 번째 값은 Int, 두 번째 값은 String 인 Tuple 형태의 배열이 있습니다. 중복으로 작성된 코드이고, 실수하기 쉬운 형태입니다. 결과가 실제로 계산과 일치한다고 누구도 .. 2023. 9. 6. [WWDC 2023] (3) SwiftData 안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️입니다. 오늘의 포스팅은 WWDC 2023의 세 번째 - SwiftData에 대해 알아보도록 하겠습니다. 1. 개요 iOS17+ 에서 제공한다. Swift macro가 제공하는 표현식을 사용한다. @Model 키워드를 사용한다. SwiftData는 즉시 사용할 수 있도록 기본 Value Type 프로퍼티를 포함한다. 기본 타입 ( String, Int ... ) Collection 타입 ( Array, Set, Dictionary ) 기타 ( Struct, Codable ) SwiftData 모델은 타입을 관계로 참조한다. 모델 유형간에 link를 만들 수 있다. 2. @Model 키워드 // Adding @Model to Trip import SwiftData .. 2023. 8. 29. [WWDC 2023] (2) Widget 확장 안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️입니다. 오늘의 포스팅은 WWDC 2023의 두 번째 - Widget 확장에 대해 알아보도록 하겠습니다. 1. 개요 1-1. 기존의 Widget iOS 14 > 홈 화면에서의 Widget iOS 16 > 잠금 화면에서의 Widget ( WidgetKit API 사용 ) 1-2. 새로운 Widget ( 확장 ) Mac > 데스크탑 iPad > 잠금 화면 iPhone > StandBy 모드 Apple Watch > 새로운 Smart Stack 2. 새로운 기능 2-1. Content margin Content margin 위젯의 본문에 자동으로 적용되는 Padding 이며, 컨텐츠가 위젯 컨테이너에 가까워지는 것을 방지합니다. 기존에 사용하던 ignoreSafeAre.. 2023. 8. 28. [WWDC 2023] (1) SharePlay 안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️입니다. 오늘의 포스팅은 WWDC 2023의 첫 번째 - SharePlay에 대해 알아보도록 하겠습니다. 1. 개요 Apple Fitness+, Apple Music, Apple TV+, NBA, Paramount+ 등 다양한 앱과 함께 사용이 가능하다. 하나의 그룹을 만들고 실시간으로 무엇을 하고 어떤 활동을 하고 있는지 공유를 하는 것이다. iOS, iPadOS, tvOS 에서 모두 사용이 가능하다. 공유할 사용자 이름이나 이메일이 없이 에어드롭만 있으면 손쉽게 사용 가능하다. 2. 사용법 import GroupActivies 정의 import GroupActivities GoupActivity에 따라 코드 정의 struct OrderTogether: Grou.. 2023. 8. 28. 이전 1 다음 반응형