iOS13 추가 모드 화면이 아래로 미끄러지는 동작에서 dismiss를 사용하지 않기를 바랍니다

3171 단어 SwiftiOS

전제 조건


모드나 디스미스는 무엇입니까?이런 분은 아래를 보세요.
[iOS] 화면 이동 방법 요약

이벤트


iOS13부터 모드 화면의 기본값이 변경되어 슬라이딩 작업을 통해 닫힙니다.

무슨 어려움이 있습니까?


곤란한 상황으로 예를 들면 다음과 같다.
  • 되돌릴 생각이 없는 화면
  • 애플리케이션에서 반환 대상 화면 지정
  • 입력이 완료될 때까지 돌아오지 않는 화면으로 설계
  • 써 봤는데 어떤 상황인가요?
  • 반강제응답의 설문조사 정보?
  • "중요 사항 확인했어요?"→ 절대 "예""아니오"를 눌러야 한다?
  • UI/UX의 관점에서 볼 때, 절대 돌아갈 수 없는 화면은 원래 좋지 않다
    조건에 따라 이렇게 하려고 하는 경우도 있다.

    두 가지 해결 방법이 있어요.


    두 가지 피할 방법이 있다.
  • modalPresentationStyle에서fullScreen 지정
  • .isModalInPresentation을 진짜로 설정하고 미끄럼을 막고 닫기
  • 1.modalPresentationStyle。fullScreen 지정


    대상ViewController에 있는 속성modalPresentationStyle에 지정.fullScreen하여 피할 수 있습니다.
    viewController.modalPresentationStyle = .fullScreen
    
    만약 네가 스토리보드를 사용한다면, 너는 여기로 바꾸어라.

    (이미지 참조여기
    참고로 기본값은 입니다.automatic.
    만약 이 지정이라면 모드 화면이 iOS13 이후에도 iOS12 이전과 같은 UI가 될 수 있다.
    단지 스캐닝의 목적을 봉쇄하기 위해서 인터페이스를 바꾸는 것이 어떻습니까?이런 견해가 있다.
    또한 이중 모드 작동 상황(예를 들어 회원 정보 입력 화면에서 모드로 중요한 정보 설명 화면 보내기 등)
    최초 모드 변환 화면은 iOS13 규격이기 때문에 이 기초 위에서 fullScreen을 지정해도 아래 슬라이딩으로 닫는 동작을 막지 않습니다.
    이 경우 옵션 2를 선택합니다.

    2. .isModalInPresentation을 진짜로 설정하고 미끄럼을 막고 닫기


    isModalInPresentation가 진짜일 경우 봉인됩니다.
    if #available(iOS 13.0, *) {
        viewController.isModalInPresentation = true
    }
    
    조작감으로서 아래로 슬라이딩 모드에서 화면이 떨어지지만
    "와""와"렉이 걸려서 닫을 수 없을 것 같아요.
    만약 사용자가 iOS13 이후의 조작에 익숙해진다면, 슬라이딩으로 모드 화면을 끄는 것은 당연하다고 생각한다
    나는 이것이 일종의 스트레스를 느끼는 행동이라고 생각하기 때문에 모든 모델에서 그것을 지정하는 것보다
    꺼진 화면만 쓰는 게 현명하다고 생각해요.🐧🐧🐧

    참고 자료


    iOS13의 모드 표시
    iOS13 이후 모드를 fullScreen으로 표시하는 3가지 방법

    좋은 웹페이지 즐겨찾기