??我已經有好長時間沒有更新博客了,主要是懶癌發作??,剛好最近閑暇時間模仿了一下蜻蜓FM的UI界面。一級界面除了首頁的廣播模塊沒有找到數據接口沒有做之外,其它的基本上做完了。直播界面的cell做得不完整,比如說左上角顯示的“直播中”或者預約直播、右下角顯示的在線人數、右上角顯示的大咖等級,以及左下角顯示的熱度等小掛件都沒有做,不過數據已經解析完成了,等哪天有空的時候再補充上去。先來看一下總體預覽:
??在來看一下相關界面的動態圖:
??所有的界面都只做了一級界面,二級跳轉界面還沒有做,后續有空的時候會繼續完善。另外有兩個已知的bug沒有解決:第一個是父子控制器,如果控制器標題長短一致的話,下面的指示器位置就沒有問題,如果標題字符個數不同的話,指示器位置會有一點奇怪,這也就是為什么我在下載模塊中標題“已下載”改成“已經下載的原因”。父子控制器是我幾個月之前封裝的,等有空了會解決這個bug;第二個問題是首頁推薦界面輪播器下邊的紅色指示條,原版應用指示器在滾動時,會跟屏幕左右對齊,我這里沒有。本來打算自己重新寫一個指示器的(這個跟封裝父子控制器的思路差不多),但是這兩天太累了,我就自定義了一個UIPageControl,然后修改了系統的_currentPageImage和_pageImage的圖片(利用Runtime和KVC修改)將就一下,后續有空的時候回一并改過來。
??除了少數特別惡心的控件之外,整個項目采用純代碼的方式搭建。代碼版本是Swift 4,并且已經適配了iPhone X。少數界面在iPhone 4s和iPhone SE上稍微有些變形。目前用到的第三方框架主要有SnapKit、Alamofire和Kingfisher,后續會引入RxSwift。
??項目的完成度不是特別高,等休息一陣子,后面能做到哪里就做到哪里。項目的相關細節后續會選擇性的出一些博客以供交流。最好的學習方式就是不斷練習和交流,項目代碼在我的github上,希望有興趣的小伙伴能給出改進建議,本人將十分感謝。