티스토리 뷰

iOS

iOS) modal 창 뒤에 View 없애지 않기

hyun99999 2021. 7. 20. 13:53
728x90
반응형

modal 창 뒤에 View 띄우기

UIModalPresentationStyle.fullScreen.currentContext 를 통해서 화면 위 끝까지 덮는 모달창을 구현했었다. 하지만 drag down dismiss 기능을 추가하니까 뒤에 화면이 검은색이 되었다. 즉 전에 있던 View 는 사라진 상태였다. 그래서 알아보았다.

  • .fullScreen.currentContext 는 뷰가 present 될 때 지시하는 뷰컨트롤러의 뷰를 없애버린다.
  • .overFullScreen.overCurrentContext 는 뷰를 컨텍스트에서 없애지 않고 유지한 상태에서 present 하기 때문에 새로운 뷰의 alpah 값을 조절하면 뒤의 뷰를 비치게 보일 수 있다.

해결

나는 alpha 값을 1 로 설정해서 .overFullScreen 를 통해 구현하기로 했다.

let myTabVC = UIStoryboard.init(name: "MyTab", bundle: nil)
guard let nextVC = myTabVC.instantiateViewController(identifier: "MyTabVC") as? MyTabVC else {
    return
}
//overFullScreen, overCurrentContext 는 반투명도를 조절해서 뒤의 view 를 볼 수 있다.
nextVC.modalPresentationStyle = .overFullScreen
nextVC.modalTransitionStyle = .coverVertical
nextVC.view.alpha = 1
self.present(nextVC, animated: true, completion: nil)

728x90
반응형
댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
링크
Total
Today
Yesterday