Computer >> 컴퓨터 >  >> 프로그램 작성 >> IOS

iOS에서 경고 외부를 클릭하여 경고를 해제하는 방법은 무엇입니까?

<시간/>

UIAlert를 이해하고 구현하는 것은 특히 iOS 개발이 처음인 경우 까다로울 수 있습니다. 이 게시물에서는 사용자가 경고 상자 외부를 탭할 때 경고를 해제하는 방법을 살펴보겠습니다.

이 데모에서는 UIAlert 클래스를 사용하여 표시하려는 메시지와 선택할 작업이 포함된 경고 및 작업 시트를 구성합니다. 원하는 액션과 스타일로 경보 컨트롤러를 구성한 후, present(_:animated:completion:) 메소드를 사용하여 표시합니다. UIKit은 앱 콘텐츠 위에 경고 및 작업 시트를 모달로 표시합니다.

자세한 내용은 https://developer.apple.com/documentation/uikit/uialertcontroller

에서 읽을 수 있습니다.

시작하겠습니다.

1단계 − Xcode를 열고 단일 보기 응용 프로그램을 만들고 이름을 UIAlertSample로 지정합니다.

2단계 - 메인에서. 스토리보드에 버튼 하나를 추가하고 @IBAction을 만들고 이름을 showAlert로 지정합니다.

@IBAction func showAlert(_ sender: Any) { }

따라서 기본적으로 버튼을 탭하면 알림이 표시되고 사용자가 알림 외부를 탭하면 알림이 해제됩니다.

3단계 − 내부 버튼 액션 showAlert, 먼저 아래와 같이 UIAlert 객체를 생성합니다.

let uialert = UIAlertController(title: "WELCOME", message: "Welcome to my tutorials, tap outside to dismiss the alert", preferredStyle: .alert)

4단계 − 경고를 표시하고 완료 시 아래와 같이 선택기를 추가합니다.

self.present(uialert, animated: true, completion:{
   uialert.view.superview?.isUserInteractionEnabled = true
   uialert.view.superview?.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.dismissOnTapOutside)))
})

5단계 - 선택기 기능 추가,

@objc func dismissOnTapOutside(){
   self.dismiss(animated: true, completion: nil)
}

6단계 − 애플리케이션 실행,

import UIKit
class ViewController: UIViewController {
   override func viewDidLoad() {
      super.viewDidLoad()
   }
   @IBAction func showAlert(_ sender: Any) {
      let uialert = UIAlertController(title: "WELCOME", message: "Welcome to my tutorials, tap outside to dismiss the alert", preferredStyle: .alert)
      self.present(uialert, animated: true, completion:{
      uialert.view.superview?.isUserInteractionEnabled = true
      uialert.view.superview?.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.dismissOnTapOutside)))
      })
   }
   @objc func dismissOnTapOutside(){
      self.dismiss(animated: true, completion: nil)
   }
}