簡體   English   中英

如何使Popup ViewController的背景透明?

[英]How to make a transparent background of Popup ViewController?

我有一個ViewController作為彈出窗口,可以在UIDatePicker上選擇一個日期。 但是,當此彈出窗口打開時,背景將被新的背景色覆蓋。 我嘗試選擇顏色的不透明度,但這不起作用。 我使用UILabel處理單擊並打開一個新的ViewController。

override func viewDidLoad() {
        super.viewDidLoad()

        let tapDateSelectExpiration = UITapGestureRecognizer(target: self, action: #selector(handleSelectDateExpiration))
        let tapDateSelectValidity = UITapGestureRecognizer(target: self, action: #selector(handleSelectDateValidity))
        let tapDateSelectOrder = UITapGestureRecognizer(target: self, action: #selector(handleSelectDateOrder))

        lblDataPedido.isUserInteractionEnabled = true
        lblDataValidade.isUserInteractionEnabled = true
        lblDataExpiracao.isUserInteractionEnabled = true

        lblDataPedido.addGestureRecognizer(tapDateSelectOrder)
        lblDataValidade.addGestureRecognizer(tapDateSelectValidity)
        lblDataExpiracao.addGestureRecognizer(tapDateSelectExpiration)
    }

@objc func handleSelectDateExpiration(_ sender : UILabel) {
        print("handleSelectDateExpiration")
        var vcSelectDate = self.storyboard?.instantiateViewController(withIdentifier: "ViewControllerSelectDate") as! ViewControllerSelectDate
        vcSelectDate.typeDate = "DateExpiration"
        self.present(vcSelectDate,animated: true,completion: nil)
    }

// Other funcs as above.

MainLayout:

主布局

帶有背景的DatePicker布局不透明:

帶有背景的DatePicker布局不透明

故事板:

在此處輸入圖片說明

你可以試試

let vc = self.storyboard?.instantiateViewController(withIdentifier: "dateView") as! dateViewController

vc.delegate = self

vc.providesPresentationContextTransitionStyle = true;

vc.definesPresentationContext = true;

vc.modalPresentationStyle = UIModalPresentationStyle.overCurrentContext

self.present(vc, animated: false, completion: nil)

然后選擇像這樣的透明背景

在此處輸入圖片說明

或在IB

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM