??上回說到直播界面數據解析完了,但是cell上面顯示正在直播和在線收聽人數,以及預約直播時間等小掛件的UI界面沒有做出來,今天終于抽空做完了,先來看一下預覽效果:
直播界面cell上面小掛件的處理.png
直播界面cell上面小掛件的處理.gif
??這個做起來其實非常的簡單,只需要把所有的小掛件都添加上去,然后默認它們都隱藏,最后根據服務器返回的數據來決定最終需要顯示哪些、隱藏哪些。唯一稍微麻煩一點的是預約透明控件的處理,這里面主要有兩個點:第一個,服務器返回的時間多半形如"2017-11-21T15:25:00.000Z"這種字符串兒樣式,而且它是以0時區為基準的,我們需要將它轉換為"今天 23:25"這種形式;另外一個就是透明控件的長度,從圖上可以看出,當顯示"今天 23:25"這種時間格式和顯示"11月24日 20:00"這種時間格式時,透明控件的長度是不一樣的,那么用SnapKit做自動布局,它要怎么做約束?
??首先,關于對服務器返回的時間進行處理的問題,我在項目的Supporting File文件夾下面的Extension中給NSDate寫了一個分類,所有處理的代碼和注釋都詳細寫在里面,可以去github上下載;其次,關于利用SnapKit對控件做自動布局的問題,這里就不詳細寫了,網上有很多相關教程,我找了一篇《Swift自動布局SnapKit的詳細使用介紹》博客,作者是langkee,有興趣的可以去看一下,寫得比較詳細。最后,如果有什么改進的建議,請給我留言,非常感謝。