본문 바로가기

SwiftUI4

SwiftUI Segment Picker의 round 유지하며 background color 변경하기 SwiftUI의 Picker view의 `pickerStyle`을 .segmented로 설정해주면, UIKit의 `Uisegmentedcontrol`과 같은 모양의 UI를 사용할 수 있습니다.   기본적으로 배경색이 회색이고 round된 corner를 가진 모양입니다. 배경색상을 변경할 필요가 있었고, `background`를 설정해주면 될 것 같아 적용해 보았습니다. struct SegmentedView: View { @Binding var element: PickerElement var body: some View { Picker(selection: $element) { ForEach(PickerElement.allCases) { .. 2024. 11. 18.
mac app window background color 알파값 변경하기 꼭 만들어서 사용하고 싶은 mac app이 생겨서 재미로 mac app 개발을 시작했습니다. 시간 날때 틈틈이 개발해서 빨리 제가 사용하고 싶습니다 🫡 화면 element 자체는 많지 않고 디테일한 UI 작업은 필요없는 앱이라 속도감을 위해서 SwiftUI로 진행하게 되었습니다. iOS 앱을 만들 때는 Window 자체를 투명하게 만들어 본 적이 없었는데, mac 앱 작업 중에 window를 투명하게 만들어 볼 일이 생겼습니다. 아래 처럼 TransparentWindowView를 만들고 SwiftUI에서 사용할 수 있도록 NSViewRepresentable struct를 만들어 준 다음, body View의 background로 설정해주는 방식이었습니다. class TransparentWindowView.. 2024. 2. 3.
ActivityKit으로 Dynamic Island 만들어보기! 1. Widget Extension 추가하기 1) App project를 생성해 준 다음, File -> New -> Target 선택. 2) widget extension을 검색해서 타겟을 추가해준다. 3) Info.plist에 Supports Live Activities를 추가하고 YES로 value를 설정해준다. 주의: SwiftUI 프로젝트에는 navigation panel에 info.plist가 안보이므로, Targets에 들어가서 수정해주면 된다. 2. ActivityAttributes 모델 생성 1. Swift 파일로 ActivityAttributes를 conform하는 struct를 하나 만들어 준다. 주의: ActivityAttributes는 Target Membership에 앱과 위젯 .. 2023. 10. 21.
Property Wrapper 알아보기 @가 붙어있는 애노테이션을 Swift에서는 Property Wrapper라고 부릅니다. Property wrapper 변수에 접근하는 방법은 세 가지가 있는데, 각각의 차이점에 대해서 알아보려고 합니다. 예를 들어서, myName이라는 변수에 @Binding Property wrapper를 붙여주겠습니다. @Binding var myName: String 이제 myName이라는 변수에 접근할 때, 1. self.myName 2. self._myName (wrapped value) 3. self.$myName (projected value) 이렇게 세 가지 방식으로 접근이 가능합니다. 첫번째 방식은, Binding 자체에 접근할 수 있게 해줍니다. @Binding은 structure형태 입니다. 그렇기 때.. 2023. 10. 3.
반응형