簡體   English   中英

在所有視圖上方添加顯示的視圖控制器

[英]Adding presented view controller above all views

我在Tabbar上方添加一個正在播放的視圖,如下所示:

    let transition = CATransition()
    transition.type = CATransitionType.push
    transition.subtype = CATransitionSubtype.fromLeft
    miniPlayerView.view.layer.add(transition, forKey: nil)
    appDelegate.window?.rootViewController?.addChild(miniPlayerView)
    appDelegate.window?.addSubview(miniPlayerView.view)
    miniPlayerView.didMove()

miniPlayerView.didMove()我正在設置視圖的框架

view.frame = CGRect(x: 0, y: heightAvailable - height, width: frameWidth, height: height)

現在,當我單擊NowPlaying時,我正在全屏顯示它,里面有一個按鈕,它將顯示一個底部工作表彈出窗口,它顯示在MiniPlayerView視圖的后面

我嘗試了多種代碼以在所有視圖上方添加彈出式底部工作表,但無法正常工作

代碼示例:

    let modal = ModalViewController()
    let transitionDelegate = DeckTransitioningDelegate()
    modal.transitioningDelegate = transitionDelegate
    modal.modalPresentationStyle = .custom
    present(modal, animated: true, completion: nil)

另外,我嘗試使用此庫: https : //github.com/ergunemr/BottomPopup

但是問題似乎與這兩行:

appDelegate.window?.rootViewController?.addChild(miniPlayerView)
appDelegate.window?.addSubview(miniPlayerView.view)

如何在miniPlayerView v內部首先顯示呈現的Bottomsheet視圖

在這里嘗試我的代碼,我在所有視圖之上顯示警報。 如果真的有用,請使用它。

DispatchQueue.main.async(execute: {
        let window = UIWindow(frame: UIScreen.main.bounds)
        window.rootViewController = UIViewController()
        window.windowLevel = UIWindow.Level.alert+1

        let alert2 = UIAlertController(title: title, message: message, preferredStyle: .alert)
        let defaultAction2 = UIAlertAction(title: "OK", style: .default, handler: { action in
        })
        alert2.addAction(defaultAction2)

        window.makeKeyAndVisible()

        window.rootViewController?.present(alert2, animated: true, completion: nil)
    })

暫無
暫無

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

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