PROGRAMMING CODE/SWIFT68 [SwiftUI] 커스텀모달 만들기 (NavigationBar shadow로 덮기) 오눌은 다음과 같은 커스텀 모달을 만들었다!! 상위 뷰 ZStack { ScrollView { // 뒤쪽 뷰 } if isShowingResignModal { CustomModalView(isShowingModal: $isShowingResignModal, title: "정말 탈퇴하시겠어요?", content: "탈퇴 후에는 작성하신 리뷰를 수정 혹은 삭제할 수 없어요. 탈퇴 신청 전에 꼭 확인해주세요.") { isShowingResignModal .. 2024. 3. 17. [SwiftUI] CustomSheet (FullScreen + middle, bottom) 만들기! 참고 자료 Drag & Drop을 이용해서 CustomSheet를 만들었다! [SwiftUI] Drag&Drop (커스텀 뷰 기초, offset과 DragGesture)Drag & Drop은 사용자의 Gesture에 따라 움직이는 뷰를 만들때 사용한다. Custom으로 뷰를 만들 때 응용하면 아주 좋음! public struct DragGesture : Gesture { ... } DragGesture에는 위 두가지 함수가 있음! 그리고 그da-ye.tistory.com 제작 이유프로젝트 진행중에 지도 위에 띄울 시트는 기본 시트로 만들기엔 부족한 점이 몇 가지 있었다.1. 백그라운드 터치시 시트가 닫히지 않아야 함2. bottom, middle, full.. 2024. 2. 21. [SwiftUI] 버튼 눌러 전화걸기 tel:// 번호 형식으로 넣어줘야한다. let phoneNumber = "tel://123456789" func makePhoneCall() { if let phoneURL = URL(string: phoneNumber), UIApplication.shared.canOpenURL(phoneURL) { UIApplication.shared.open(phoneURL, options: [:], completionHandler: nil) } } 버튼 눌렀을때 이 함수를 넣어주면 끝! 개인적으로 데이터 저장할 때 tel://을 넣기 힘드니까 let phoneNumber = "123456789" func makePhoneCall() { if let phoneURL = URL(string: "tel://\(phon.. 2024. 2. 18. [SwiftUI] Drag&Drop (커스텀 뷰 기초, offset과 DragGesture) Drag & Drop은 사용자의 Gesture에 따라 움직이는 뷰를 만들때 사용한다. Custom으로 뷰를 만들 때 응용하면 아주 좋음! public struct DragGesture : Gesture { ... } DragGesture에는 위 두가지 함수가 있음! 그리고 그 함수 내부에서 꺼내 사용할 수 있는 요소들은 아래와 같음! time: 드래그 제스처의 현재 이벤트와 관련된 시간 정보. location: 드래그 제스처의 현재 이벤트 위치. startLocation: 드래그 제스처의 첫 번째 이벤트 위치. translation: 드래그 제스처의 시작부터 현재 이벤트까지의 전체 이동량. (location.{x,y} - startLocation.{x,y}) velocity: 현재 드래그 속도. pred.. 2024. 2. 18. [Swift] KakaoMap 리사이징 공부 + 디바이스 화면잘림, black screen 버그 (삽질 일기) 맵뷰 공부를 위해 다음과 같이 단일 프로젝트로 따로 코드를 짰고, 팀 프로젝트 코드에 맵뷰를 추가하는 와중에 화면 크기가 제대로 나오지 않아서 삽질 지대루함 ㅠ0ㅠ~~~ (결국 맵뷰 문제가 아닌 디바이스 버그였던것 ㅜㅋㅜㅋ) struct MapView: View { ... var body: some View { KakaoMapView(draw: $draw, userLatitude: $userLatitude, userLongitude: $userLongitude, isShowingSheet: $isShowingSheet) .onAppear { Task { await startTask() self.draw = true } } .onDisappear(perform: { self.draw = false }) ... 2024. 2. 3. [SwiftUI] CoreLocation(사용자 위치정보)사용하기 + tuist (삽질 기록^.^) 가장 간단하게 사용하는 방법! func startTask() async { // 위치 사용 권한 설정 확인 let locationManager = CLLocationManager() let authorizationStatus = locationManager.authorizationStatus // 위치 사용 권한 항상 허용되어 있음 if authorizationStatus == .authorizedAlways {} //위치 사용 권한 앱 사용 시 허용되어 있음 else if authorizationStatus == .authorizedWhenInUse {} // 위치 사용 권한 거부되어 있음 if authorizationStatus == .denied { // 앱 설정화면으로 화면 이동 DispatchQ.. 2024. 1. 31. 이전 1 2 3 4 5 ··· 12 다음