본문 바로가기

PROGRAMMING CODE/SWIFT68

[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.