2016-12-27 251 views
4

每當視圖出現問題時,如何製作不會重新加載(保持屏幕顯示)的視圖?就像Apple iOS Podcast應用中的音頻控制一樣。查看圖片以查看我參考的音頻控件。如何在主視圖繼續播放時使視圖保持在屏幕上?

如何在故事板中執行此操作?

enter image description here

+0

我從未使用過蘋果的播客應用程序,所以我不太清楚你問什麼,但是這是否幫助? HTTP://計算器。com/a/33179604/341994 – matt

+0

我可以重建每一個segue的控件,但是我想在不可能的情況下重建它們。 – Hairy

+1

如果您在https://i.stack.imgur.com/s1yuZ.png的末尾添加'l'(L不是I),即將其設置爲https://i.stack.imgur.com/s1yuZl。 PNG然後圖像會更小,也許更好:D – Honey

回答

4

你所說的通常稱爲「迷你播放器」,你也可以在其他許多應用中找到它。

您應該使用的技術稱爲「UIViewController Containment」,在故事板中可以通過「Container View」和「Embed Segues」進行訪問。

一個典型的故事板可能看起來像:

  • 根視圖控制器有兩個容器視圖加入到它的視圖。
  • 容器視圖已經延伸到查看控制器。在視圖
  • 控制器涉及到較低的一個,設置迷你播放器。
  • 上層容器的視圖控制器嵌入導航控制器和選項卡視圖控制器中。

screen

這將創建視圖控制器層次結構。

要實現播放器本身,請創建一個在應用程序委託中實例化的播放器類,並將其傳遞給根虛擬機上的屬性。從那裏傳遞給迷你播放器視圖控制器和上方視圖控制器,該控制器將包含歌曲列表/ podcast/...以供選擇。在選擇通過球員類的帽子歌曲。


我發佈在GitHub上的示例應用程序:https://github.com/vikingosegundo/HearThisMiniplayer

screen

+0

請注意,我使用更好的約束將新版本推送到GitHub。 – vikingosegundo

1

你在談論的圖標在屏幕底部的工具欄(之賽事,我的播客,精選等)?這是一個UITabBarController接口,可以在故事板中配置。

enter image description here

+0

不,播放播客後出現在底部的音頻控件。我會嘗試張貼圖片。 – Hairy

+0

我添加了圖片,這些控件在導航選項卡時不會改變。我正在嘗試使用音頻控件構建自己的播客應用程序,這些應用程序像應用程序一樣保持靜態。我是ios開發新手,所以它可能是一些簡單的我缺少的東西。 – Hairy

+1

我的答案保持不變。這些控件是標籤欄控制器視圖的子視圖,就像標籤欄本身一樣,所以它們在視圖控制器被換出時保持不變,就像標籤欄本身一樣。基本上它是關於擁有一個穩定的父視圖控制器及其視圖,以及其視圖被換出的子視圖控制器。 – matt

1

我認爲你可以做到這一點增加它的應用程序窗口(這是一個UIWindow,UIView的子類)的頂部

UIView *myView = /* <- Your custom view */; 
UIWindow *currentWindow = [UIApplication sharedApplication].keyWindow; 
[currentWindow addSubview:myView]; 

https://stackoverflow.com/a/21850538/1947419

或者你可以注意到代碼因爲它是跨越整個屏幕的UIView,因此直接添加到UITabBarController.view。

雖然你需要爲它定製視圖。

相關問題