Notice
Recent Posts
Recent Comments
Link
투케이2K
57. (TWOK/UTIL) [Ios/Objc] C_Ui_View - 팝업창 표시 , UI 뷰 관련 표시 수행 본문
[설 명]
프로그램 : Ios / Objective-C
설 명 : C_Ui_View - 팝업창 표시 , UI 뷰 관련 표시 수행
[소스 코드]
import Foundation
import UIKit
import SafariServices
@objc class C_UI_View: NSObject {
// MARK: - [클래스 설명]
/*
// -----------------------------------------
1. Ui 화면 표시 관련 뷰 정의 클래스
// -----------------------------------------
*/
// MARK: - [클래스 싱글톤 설정 실시]
@objc static let shared = C_UI_View()
// MARK: - [alert 팝업창 표시 수행]
@objc func showAlert(view: UIViewController, type:Int, tittle:String, content:String, okBtb:String, noBtn:String) {
/*
// -----------------------------------------
[showAlert 메소드 설명]
// -----------------------------------------
1. 일반 팝업창 수행 메소드
// -----------------------------------------
2. type 속성 값 정리 :
- type == 0 : 일반 알림 표시
// -----------------------------------------
3. 호출 방법 :
// [팝업창 표시 수행 실시]
[[C_UI_View shared]
showAlertWithView:
self
type:0
tittle:@"[알림]"
content:@"내용입니다"
okBtb:@"확인"
noBtn:@"취소"
];
// -----------------------------------------
*/
// [메인 큐에서 비동기 방식 실행 : UI 동작 실시]
DispatchQueue.main.async {
print("")
print("====================================")
print("[C_Ui_View >> showAlert() :: 팝업창 표시 수행 실시]")
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.alert
)
// [인풋으로 들어온 확인 버튼이 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: .default) { (action) in
// [취소 버튼 클릭 이벤트 내용 정의 실시]
return
}
// [버튼 클릭 이벤트 객체 연결]
alert.addAction(noAction)
}
// [alert 팝업창 활성 실시]
view.present(alert, animated: false, completion: nil)
}
}
// MARK: [클립보드 복사 팝업창 호출 처리 메소드]
@objc func showAlertCopy(view: UIViewController, tittle:String, content:String, okBtb:String, noBtn:String) {
/*
// -----------------------------------------
[showAlertCopy 메소드 설명]
// -----------------------------------------
1. 클립보드 복사 팝업창 수행 메소드
// -----------------------------------------
2. 호출 방법 :
[[C_UI_View shared]
showAlertCopyWithView:
self
tittle:@"[알림]"
content:@"복사입니다"
okBtb:@"확인"
noBtn:@"취소"
];
// -----------------------------------------
*/
// [메인 큐에서 비동기 방식 실행 : UI 동작 실시]
DispatchQueue.main.async {
print("")
print("====================================")
print("[C_Ui_View >> showAlertCopy() :: 클립보드 복사 팝업창 표시 수행 실시]")
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.alert
)
// [인풋으로 들어온 확인 버튼이 nil 아닌 경우]
if(okBtb != "" && okBtb.count>0){
let okAction = UIAlertAction(title: okBtb, style: .default) { (action) in
//----------------------------------
// MARK: [확인 버튼 클릭 이벤트 내용 정의 실시 >> 클립보드 복사]
UIPasteboard.general.string = content
//----------------------------------
return
//----------------------------------
}
alert.addAction(okAction) // 버튼 클릭 이벤트 객체 연결
}
// [인풋으로 들어온 취소 버튼이 nil 아닌 경우]
if(noBtn != "" && noBtn.count>0){
let noAction = UIAlertAction(title: noBtn, style: .default) { (action) in
// [취소 버튼 클릭 이벤트 내용 정의 실시]
return
}
alert.addAction(noAction) // 버튼 클릭 이벤트 객체 연결
}
// [alert 팝업창 활성 실시]
view.present(alert, animated: false, completion: nil)
}
}
// MARK: - [alert sheet 팝업창 표시 수행]
@objc func showSheetAlert(view: UIViewController, type:Int, tittle:String, content:String, okBtb:String, noBtn:String) {
/*
// -----------------------------------------
[showSheetAlert 메소드 설명]
// -----------------------------------------
1. Alert Sheet 표시 팝업창 수행 메소드
// -----------------------------------------
2. type 속성 값 정리 :
- type == 0 : 일반 알림 표시
// -----------------------------------------
3. 호출 방법 :
// [팝업창 표시 수행 실시]
[[C_UI_View shared]
showSheetAlertWithView:
self
type:0
tittle:@"[알림]"
content:@"내용입니다"
okBtb:@"확인"
noBtn:@"취소"
];
// -----------------------------------------
*/
// [메인 큐에서 비동기 방식 실행 : 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 팝업창 활성 실시]
view.present(alert, animated: false, completion: nil)
}
}
} // [클래스 종료]
반응형
'투케이2K 유틸파일' 카테고리의 다른 글
Comments