Как всплыть и отклонить представление в Swift 5 - PullRequest
0 голосов
/ 05 февраля 2020

Я создал .xib файлы и связал их с соответствующими контроллерами представления. К сожалению, это не go хорошо. Я проверил и попробовал так много примеров, но не работает для новой версии. Использование Xcode 11,3 и iOS 13 .
вот код, который я пробовал.

TopView.swift

@IBAction func btnConnectTapped(_ sender: Any) {        
        print("tapped")
        var listVC: PopupView    // This one is UIView and popped the window
        listVC = Bundle.main.loadNibNamed("PopupView", owner: self, options: nil)?.first as! PopupView
        self.view.addSubview(listVC)

        // Tried for the UIViewController and not worked
        /*let VC = ScanViewController(nibName: "ScanViewController", bundle: nil)
        //self.present(VC, animated: true, completion: nil)
        self.navigationController?.pushViewController(VC, animated: true)*/
}

Popup.swift // отклонить всплывающее представление

@IBAction func btnCancelTapped(_ sender: Any) {
        DispatchQueue.main.async {
            self.removeFromSuperview()
        }
}

и ScanViewController, и представление Popup имеют одинаковое назначение.
Может ли кто-нибудь мне помочь

Ответы [ 2 ]

0 голосов
/ 05 февраля 2020

URL-адрес pod: https://github.com/Orderella/PopupDialog

например, чтобы сделать Popup:

let ratingVC = TimeSelection(nibName: "TimeSelection", bundle: nil)
    ratingVC.view.backgroundColor = .white
    ratingVC.delegate = self
    let popup = PopupDialog(viewController: ratingVC,
                            buttonAlignment: .horizontal,
                            transitionStyle: .bounceDown,
                            tapGestureDismissal: true,
                            panGestureDismissal: true)
    popup.popupContainerView.backgroundColor = .clear
    present(popup, animated: true, completion: nil)
0 голосов
/ 05 февраля 2020

TopView.swift

@IBAction func btnTap(_ sender: UIButton)
   {
    if PopupScreensharedInstance != nil
    {
        PopupScreensharedInstance.makeInstanceNil()
    }
    view.addSubview(popView.SharedInstance())

}

popView.swift

var PopupScreensharedInstance : popView! = nil

class popView: UIView {
    class func SharedInstance() ->popView
    {
        if(PopupScreensharedInstance == nil)
        {
            PopupScreensharedInstance = (Bundle.main.loadNibNamed("popView", owner: self, options: nil)![0] as! popView)
            PopupScreensharedInstance.frame = UIScreen.main.bounds
        }
        return PopupScreensharedInstance
    }

    func makeInstanceNil()
    {
        PopupScreensharedInstance = nil
        self.removeFromSuperview()
    }
    @IBAction func cancle(_ sender: UIButton)
    {
        makeInstanceNil()

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...