이모저모/SwiftUI

iPad ConfirmationDialog 에러 대응

ARpple 2024. 6. 23. 22:08

해결법

✅ confirmationDialog 모디파이어를 직접 띄우는 Action을 주는 뷰 컴포넌트의 모디파이어로 위치시킴

에러 발견

🚨 ConfirmationDialog를 띄우는 Reset 버튼을 눌렀지만 변화가 일어나지 않았다!!

구현 코드 및 특징

⇒ 하나의 화면 전체를 구성하는 최상위 뷰의 모디파이어로 confirmationDialog를 구현함

해결

iPadOS에서 나타내는 Confirmation Dialog

구현 코드

Reset 버튼 컴포넌트에 모디파이어로 적용한다.

⇒ SwiftUI가 Dialog를 띄어줄 위치를 알아내고 이를 표현할 수 있다.

추가 사항

 

UIActionSheet | Apple Developer Documentation

A view that presents a set of alternatives for how to proceed with a task.

developer.apple.com

⇒ iPad는 원래 팝오버로 표시한다 → 공식 문서

...iPad에서 실행되는 애플리케이션의 경우 작업 시트는 위치한 View에 적절한 방식으로 팝오버로 표시합니다. 팝오버 외부를 탭하면 작업 시트가 자동으로 해제됩니다.
프로그래밍(코드) 방식으로 해제할 수도 있습니다...

참고 자료

 

iPad & UIAlertController & ActionSheet Crash

[문제] iPad에서 UIAlertController을 ActionSheet으로 띄우려고 하면 Crash 발생 [원인] iPad는 ...

blog.naver.com

 

 

Popovers | Apple Developer Documentation

A popover is a transient view that appears above other content when people click or tap a control or interactive area.

developer.apple.com