說明:該文主要介紹音樂播放界面的搭建。
一、跳轉
1.跳轉到音樂播放界面的方法選擇
(1)使用模态跳轉(又分為手動的和自動的)
(2)使用xib并設定跳轉
2.兩種方法的分析
可以使用模态的方法,添加一個控制器,讓這個控制器和音樂播放控制器類進行關聯,脫線,設定辨別符且在cell的點選事件中執行segue即可。
步驟說明:
(1)在storyboard中新拖入一個控制器,然後設定和playing控制器類相關聯。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5CN3IDN1QDM1EzMzcTMzEzLchDM0EDMy8CX2MTMwUDNvwVavwVbvNmLn9GbiRXauNmLzV2Zh1Wavw1LcpDc0RHaiojIsJye.png)
(2)設定手動跳轉
(3)設定segue的辨別符
(3)跳轉代碼處理
不推薦使用模态的原因如下:
當選中一首音樂跳轉到播放界面進行播放後,如果要跳回到音樂清單界面,那麼最常見的做法是在音樂播放控制器上添加一個按鈕。
當點選的時候,銷毀這個控制器(dismissed)。但是,控制器銷毀了那麼正在播放的音樂也就随之不在了。
且由于播放界面控制器的布局是固定的,是以這裡選擇的方法是使用xib進行建立。
3.選擇的方法
建立一個xib,對應于音樂播放控制器。
xib的結構如下圖所示:
細節:控制器隻需要建立一次,是以建議使用懶加載,當然也可是把播放器設定為單例
4.xib的内部細節:
(1)已經實作了限制,用于适配ios6和ios7。
(2)設定音樂名稱和歌手的view設定為半透明的,設定方法如下:
設定為30%
注意:不要再storyboard中控件的屬性面闆上設定透明度(這樣的話,這個控件中的子控件也是同樣的透明度)。
不推薦的做法:
(3)按鈕點選發光
(4)設定view隐藏能夠節省一些性能。(參考代碼)
(5)在切換控制器的過程中,設定視窗不能點選(這樣做是為了防止使用者多次連續的點選歌曲名會出現的問題)。
5.補充:
項目代碼中拖入了uiview的分類,以友善計算frame
二、涉及到的代碼
在播放控制器的.h檔案中提供一個公共對象方法接口
yyplayingviewcontroller.h檔案
yyplayingviewcontroller.m檔案
cell的點選事件中的處理代碼: