SwiftUI

SwiftUI/1. 기본

[iOS][SwiftUI] @FocusState에 String 타입 사용해보기

안녕하세요. iOSangBong입니다. 오늘은 프로젝트를 진행하는 도중에 focusState에 대한 생각이 들어서 공부겸 포스팅을 해보려고 합니다. 일단 iOS15부터 사용이 가능한 focusState가 있는데 대부분의 예제들을 보면 열거형으로 만들어준다음 옵셔널로 선언해줘서 사용하는 모습을 볼 수 있습니다.. 그래서 처음 접했을때는 그냥 저렇게 사용하는거구나? 라고만 생각을 했는데 이번에 프로젝트를 진행하다보니... ForEach로 무한히 증식하는 텍스트필드를 맞이하게 되었습니다..... 하하하.... 매우 안좋은 형태라고 생각하지만 이미 결정된 상태라 의견을 제시할 수도 없었네요.... ㅜ 그래서 focusState는 못쓰겠구나 생각을 했는데.. 왜? 열거형으로만 사용해야되지? 라는 생각이 들자마자..

SwiftUI/4. Widget

[iOS][SwiftUI] WidgetKit 알아보기 - 3. 위젯 이름 및 설명

안녕하세요. iOSangBong입니다. 오늘은 위젯의 이름과 설명을 변경하는 방법에 대해 알아본 다음 여러가지 위젯의 이름과 설명을 만들어주도록 하겠습니다. 1. 위젯 타이틀과 설명 홈화면 편집에 들어간다음 내가 원하는 위젯을 보게 되면 이런식으로 My Widget이라고 타이틀이 되어 있고 설명에는 This is an example widget이라고 되어 있네요. 어디서 많이 보시지 않았나요? 바로 WidgetConfiguration 부분에 딱 찾을 수가 있네요. configurationDisplayName하고 description을 변경해주면? 제대로 타이틀과 설명 부분이 변경 되신걸 볼 수 있습니다~! 2. 여러가지 위젯 타이틀과 설명 그러면 이제 여러가지 위젯 타이틀과 설명이 나오도록 한번 해보죠!..

SwiftUI/2. 잡기술

[iOS][SwiftUI] View의 터치가능 영역을 제어하기

안녕하세요. iOSangBong입니다. 오늘은 View의 터치 영역을 제어하는 방법을 알아볼텐데요. 프로젝트를 진행하면서 UX를 고려하기 위해서는 이미지의 사이즈보다 크게 터치 영역을 잡아줘야 하는데요. 배경색이 흰색이면 상관없지만 다른색일경우에는 배경색을 clear로 지정해줘야 하는데... 터치가 안될때가 있습니다... 간단하게 샘플코드를 짜보자면 Rectangle하고 Text가 있는데 Rectangle은 .clear 색상으로 두었습니다. 그리고 ZStack에 onTapGesture를 두었는데... 실행해보면? Rectangle의 크기를 200x200으로 여유 있게 두었는데도 터치가 안되는걸 보실 수 있습니다.. 그럴때는 간단하게 contentShape를 추가해주면 되는데요. 기존 코드에 content..

SwiftUI/4. Widget

[iOS][SwiftUI] WidgetKit 알아보기 - 2. 위젯 사이즈

안녕하세요. iOSangBong입니다. 오늘은 위젯의 사이즈에 대해서 알아보겠습니다. 위젯을 사용하다보면 여러가지 사이즈를 볼 수 있습니다. 아이폰을 사용하면서 흔히 볼 수 있는 사이즈는 small, medium, large 사이즈가 있습니다. 그러나 추가적으로 패드에서 사용되는 ExtraLarge 사이즈도 있으며 잠금화면에서 사용되는 accessory 관련 사이즈도 있습니다. 한번 천천히 알아가보도록 하겟습니다. 1. supportedFamilies 선언 여러가지 사이즈를 사용하기 위해서는 supportedFamilies를 선언해줘야 합니다. WidgetConfiguation 부분에다가 supportedFamilies를 추가해주면 됩니다. 여기서 WidgetFamily를 Array의 형태로 넣어줘야하는..

SwiftUI/3. 커스텀 UI

[iOS][SwiftUI] ScrollView ForEach에서 SwipeAction 사용하기

안녕하세요. iOSangBong입니다. 오늘은 ScrollView + ForEach에서 SwipeAction을 사용할 수 있도록 커스텀 UI에 대해 알아보도록 하겠습니다~! 일단 기존 apple에서 제공하고 있는 swipeActions가 있는데요. https://developer.apple.com/documentation/swiftui/view/swipeactions(edge:allowsfullswipe:content:) swipeActions(edge:allowsFullSwipe:content:) | Apple Developer Documentation Adds custom swipe actions to a row in a list. developer.apple.com 이것을 사용하면 List에서 손쉽..

SwiftUI/4. Widget

[iOS][SwiftUI] Please adopt containerBackground API 해결방법

안녕하세요. iOSangBong입니다. WidgetKit 관련하여 포스팅을 하기 위해서 빌드를 한번 해봤는데요.. ??? Please adopt containerBackground API가 뜨면서 갑자기 잘되던 위젯이 안되는 모습을 발견했습니다. 그래서 바로 찾아보니 iOS 17이 업데이트 되면서 containerBackground를 추가해줘야되는것 같습니다. 그래서 위젯에서 사용할 수 있도록 containerBackground를 추가해줬는데? 이런... iOS 17 이전 버전도 사용할 수 있게 하려면 따로 분기처리를 해줘야되는것 같습니다. 이런 식으로 View의 extension을 만들어주고 iOS17 이상일 경우 containerBackground를 17 미만일 경우에는 Background가 retu..

SwiftUI/4. Widget

[iOS][SwiftUI] SendProcessControlEvent:toPid: encountered an error: Error Domain=com.apple.dt.deviceproce… 해결 방법

안녕하세요. iOSangBong입니다. 오늘은 Widget Extension에 관련 하여 포스팅을 하면서 하나의 문제가 생겼었는데요. 빌드하는 과정에서 SendProcessControlEvent:toPid: encountered an error: Error Domain=com.apple.dt.deviceproce… 라는 에러가 발생한것이였는데요... 이 에러가 떠서 빌드 중인 폰에서 위젯이 제대로 안나오고 있었습니다... 그래서 Detail을 봤는데요 그 중에 딱 보이는 건 "Please specify the widget kind in the scheme's Environment Variables using the key ..." 딱 이걸 보니 제가 만든 Widget들이 다뜨게 되더라구요 너무 많이 위젯..

SwiftUI/4. Widget

[iOS][SwiftUI] WidgetKit 알아보기 - 1

안녕하세요. iOSangBong입니다. 오늘은 WidgetKit에 대해서 알아보겠습니다. 원래 프로젝트를 진행하기 위해 개인적으로 공부를 했었는데요... 회사 내부 사정으로 인해 일정이 변경이 되었습니다.. 나중에 안쓰게 될지도 모르겠지만 기록은 남겨놓고 다시 하게된다면 보기 위해서 남기려고 합니다. #. 공식문서 일단 공식문서를 한번 볼까요? https://developer.apple.com/documentation/widgetkit WidgetKit | Apple Developer Documentation Extend the reach of your app by creating widgets, watch complications, and Live Activities. developer.apple.co..

SwiftUI/2. 잡기술

[iOS][SwiftUI] shake motion 알아보기

안녕하세요. iOSangBong입니다. 오늘은 SwiftUI에서 쉐이크모션을 사용하는 방법에 대해 알아보겠습니다. 저번에는 UIkit에서 shake모션을 사용해봤는데요. 그걸 한번 이용해보도록 해보겠습니다. UIKit에서 shake모션을 만드는 것도 참고해주세요 :) https://iosangbong.tistory.com/21 [iOS][Swift] shake motion 알아보기 안녕하세. iOSangBong입니다. 오늘은 Swift에서 쉐이크모션을 사용하는 방법에 대해 알아보겠습니다. 현재 카카오톡에서 흔들기 모션을 하면 여러 가지 기능을 설정해놓을 수 있는 화면으로 이동하 iosangbong.tistory.com 일단 NotificationCenter를 사용하여 shake모션이 감지될때 receiv..

SwiftUI/2. 잡기술

[iOS][SwiftUI] 키보드 간단하게 내리기

안녕하세요. iOSangBong입니다. 오늘은 SwiftUI에서 키보드를 내려보는 법에 대해 알아보겠습니다. UIApplication를 Extension해서 키보드를 해제하는 함수를 만들어보겠습니다. 이런식으로 간단하게 만들 수 있습니다. 키보드를 닫고 싶을때 View의 action에 UIApplication.shared.endEditing()을 실행시켜주면 간단하게 키보드를 내릴 수 있습니다. 프로젝트에 잘 활용해보세요~ 다들 즐코딩하세요. 그럼 이만~

bongbong9708
'SwiftUI' 카테고리의 글 목록