투케이2K

265. (ios/swift) [iOS 15 이상] pageSheet , sheetPresentationController 사용해 하프 모달 방식으로 화면 전환 수행 실시 본문

IOS

265. (ios/swift) [iOS 15 이상] pageSheet , sheetPresentationController 사용해 하프 모달 방식으로 화면 전환 수행 실시

투케이2K 2022. 11. 10. 13:35

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT

 

[소스 코드]

    // MARK: - [테스트 함수 정의]
    func testMain() {
        print("")
        print("===============================")
        print("[ViewController >> testMain() :: 테스트 함수 수행]")
        print("===============================")
        print("")
        
        
        /*
         -------------------------------
         [요약 설명]
         -------------------------------
         1. sheetPresentationController : ios 15 이상 사용하실 수 있습니다
         -------------------------------
         */
        
        
        // [로직 처리 수행]
        DispatchQueue.main.async {
            
            
            // [스토리보드 사용 : present 방식]
            guard let SecondVC = self.storyboard?.instantiateViewController(identifier:"SecondVC") as? SecondController
            else {
                return
            }
                    
            
            // [페이지 전환 설정 : 페이지 시트]
            SecondVC.modalPresentationStyle = .pageSheet
            
            
            // [하프 모달 세부 설정 값 지정]
            if let sheet = SecondVC.sheetPresentationController {
                
                // 크기 지정 (medium)
                // sheet.detents = [.medium()]
                        
                // 크기 지정 (medium >> large 전환)
                sheet.detents = [.medium(), .large()]
               
                // 시트 상단에 그래버 표시 (기본 값은 false)
                sheet.prefersGrabberVisible = true
            }
            
            
            // [페이지 전환 실시]
            self.present(SecondVC, animated: true, completion: nil)

        }
        
    }
 

[결과 출력]


 

반응형
Comments