투케이2K

153. (ios/swift) actionSheet 사용해 alert 팝업창 sheet 시트 표시 수행 실시 본문

IOS

153. (ios/swift) actionSheet 사용해 alert 팝업창 sheet 시트 표시 수행 실시

투케이2K 2022. 6. 20. 17:57

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT

 

[소스 코드]

    // MARK: - [alert sheet 팝업창 표시 수행]
    func showSheetAlert(type:Int, tittle:String, content:String, okBtb:String, noBtn:String) {
        
        /*
        // -----------------------------------------
        [showSheetAlert 메소드 설명]
        // -----------------------------------------
        1. Alert Sheet 표시 팝업창 수행 메소드
        // -----------------------------------------
        2. type 속성 값 정리 :
           - type == 0 : 일반 알림 표시
        // -----------------------------------------
        3. 호출 방법 :
         // [팝업창 표시 수행 실시]
         self.showSheetAlert(
             type: 0,
             tittle: S_FinalData.AL_TITLE,
             content: "내용 입니다",
             okBtb: S_FinalData.AL_OK,
             noBtn: S_FinalData.AL_NO
         )
        // -----------------------------------------
        */
        
        // [메인 큐에서 비동기 방식 실행 : UI 동작 실시]
        DispatchQueue.main.async {
            print("")
            print("====================================")
            print("[C_Ui_View >> showSheetAlert() :: 팝업창 표시 수행 실시]")
            print("-------------------------------")
            print("type :: ", type)
            print("-------------------------------")
            print("tittle :: ", tittle)
            print("-------------------------------")
            print("content :: ", content)
            print("-------------------------------")
            print("okBtb :: ", okBtb)
            print("-------------------------------")
            print("noBtn :: ", noBtn)
            print("====================================")
            print("")
            
            
            // [UIAlertController 객체 정의 실시]
            let alert = UIAlertController(
                title: tittle + "\n",
                message: content + "\n",
                preferredStyle: UIAlertController.Style.actionSheet
            )
            
            
            // [인풋으로 들어온 확인 버튼이 nil 아닌 경우]
            if(okBtb != "" && okBtb.count>0){
                let okAction = UIAlertAction(title: okBtb, style: .default) { (action) in
                    // -----------------------------------------
                    // [확인 버튼 클릭 이벤트 내용 정의 실시]
                    // -----------------------------------------
                    if type == 0 {
                        // [일반 팝업창 알림]
                    }
                    // -----------------------------------------
                    return
                }
                // [버튼 클릭 이벤트 객체 연결]
                alert.addAction(okAction)
            }
            
            
            // [인풋으로 들어온 취소 버튼이 nil 아닌 경우]
            if(noBtn != "" && noBtn.count>0){
                let noAction = UIAlertAction(title: noBtn, style: .cancel) { (action) in
                    // [취소 버튼 클릭 이벤트 내용 정의 실시]
                    return
                }
                // [버튼 클릭 이벤트 객체 연결]
                alert.addAction(noAction)
            }
            
            
            // [alert 팝업창 활성 실시]
            self.present(alert, animated: false, completion: nil)
        }
    }
 

[결과 출력]


 
반응형
Comments