2017-05-28 91 views
1

這個問題稍微詳細說明了我真正想知道的內容。我想創建一個功能看起來像SoundCloud和gaana的應用程序。在這裏下面我顯示gaana的一些截圖。如何在所有視圖控制器中顯示可定製的視圖?

enter image description here

這裏如果我們點擊任何一首歌曲會自動更新上述觀點並播放這首歌,也是這個視圖將顯示爲所有視圖controller.Clicking這個向上箭頭按鈕他們如何展示了一個新的圖,其中以前的小視圖沒有位置,並且也將一個集合視圖加載到這個新視圖中。要完成所有這些操作,新視圖就在這裏。

enter image description here

+0

你可以用popover來做到這一點,並將錨點設置爲你的按鈕。 – Adrian

+0

你可以請一些代碼和圖片解釋我嗎?它會幫助我很多。我可以彈出一個視圖來點擊一個按鈕,但我的球員保持在同一個地方,而且在這個視圖中,我需要有一個收集視圖來顯示推薦歌曲。 – Rumy

+0

https://makeapppie.com/tag/popover-in-swift/ – Adrian

回答

0

你可以通過創建一個疊加,即你作爲一個子元素添加UIView到應用程序的主window像這樣:

override func viewDidAppear(_ animated: Bool) { 
    super.viewDidAppear(animated) 
    showOverlay() 
} 


func showOverlay() { 
    guard let window = UIApplication.shared.keyWindow else { 
     //if this block runs we were unable to get a reference to the main window 
     print("you have probably called this method in viewDidLoad or at some earlier point where the main window reference might be nil") 
     return 
    } 
    //add some custom view, for simplicity I've added a black view 
    let blackView = UIView() 
    blackView.backgroundColor = .black 
    blackView.translatesAutoresizingMaskIntoConstraints = false 
    blackView.frame = CGRect(x: 0, y: window.frame.height - 100, width: window.frame.width, height: 100.0) 

    window.addSubview(blackView) 
} 

現在,這個觀點應該始終高於浮動當前UIViewController

+0

我可以使用我知道的keywindow來添加這個視圖。但點擊向上按鈕,它會創建一個新的視圖,其中以前的視圖已經不存在了。我也可以通過編程方式執行它,但是新窗口具有集合視圖或表視圖。表視圖也可以正確顯示,但數據源不會到達此處。在索引路徑行的單元格不是調用。爲什麼發生這種情況我不知道。請你測試這個並回答我?感謝您的幫助。 – Rumy

+0

恐怕我不太明白你的問題。你能否用更詳細的描述來更新你的問題。請注意語法。 – slashburn

+0

謝謝你的幫助,我現在可以解決它。 – Rumy

相關問題