??我已經(jīng)有好長(zhǎng)時(shí)間沒(méi)有更新博客了平道,主要是懶癌發(fā)作??椎侠,剛好最近閑暇時(shí)間模仿了一下蜻蜓FM的UI界面。一級(jí)界面除了首頁(yè)的廣播模塊沒(méi)有找到數(shù)據(jù)接口沒(méi)有做之外眯漩,其它的基本上做完了旧噪。直播界面的cell做得不完整吨娜,比如說(shuō)左上角顯示的“直播中”或者預(yù)約直播、右下角顯示的在線(xiàn)人數(shù)淘钟、右上角顯示的大咖等級(jí)宦赠,以及左下角顯示的熱度等小掛件都沒(méi)有做,不過(guò)數(shù)據(jù)已經(jīng)解析完成了米母,等哪天有空的時(shí)候再補(bǔ)充上去勾扭。先來(lái)看一下總體預(yù)覽:
??在來(lái)看一下相關(guān)界面的動(dòng)態(tài)圖:
??所有的界面都只做了一級(jí)界面,二級(jí)跳轉(zhuǎn)界面還沒(méi)有做铁瞒,后續(xù)有空的時(shí)候會(huì)繼續(xù)完善妙色。另外有兩個(gè)已知的bug沒(méi)有解決:第一個(gè)是父子控制器,如果控制器標(biāo)題長(zhǎng)短一致的話(huà)慧耍,下面的指示器位置就沒(méi)有問(wèn)題身辨,如果標(biāo)題字符個(gè)數(shù)不同的話(huà),指示器位置會(huì)有一點(diǎn)奇怪芍碧,這也就是為什么我在下載模塊中標(biāo)題“已下載”改成“已經(jīng)下載的原因”煌珊。父子控制器是我?guī)讉€(gè)月之前封裝的,等有空了會(huì)解決這個(gè)bug泌豆;第二個(gè)問(wèn)題是首頁(yè)推薦界面輪播器下邊的紅色指示條定庵,原版應(yīng)用指示器在滾動(dòng)時(shí),會(huì)跟屏幕左右對(duì)齊,我這里沒(méi)有蔬浙。本來(lái)打算自己重新寫(xiě)一個(gè)指示器的(這個(gè)跟封裝父子控制器的思路差不多)猪落,但是這兩天太累了,我就自定義了一個(gè)UIPageControl敛滋,然后修改了系統(tǒng)的_currentPageImage和_pageImage的圖片(利用Runtime和KVC修改)將就一下许布,后續(xù)有空的時(shí)候回一并改過(guò)來(lái)兴革。
??除了少數(shù)特別惡心的控件之外绎晃,整個(gè)項(xiàng)目采用純代碼的方式搭建。代碼版本是Swift 4杂曲,并且已經(jīng)適配了iPhone X庶艾。少數(shù)界面在iPhone 4s和iPhone SE上稍微有些變形。目前用到的第三方框架主要有SnapKit擎勘、Alamofire和Kingfisher咱揍,后續(xù)會(huì)引入RxSwift。
??項(xiàng)目的完成度不是特別高棚饵,等休息一陣子煤裙,后面能做到哪里就做到哪里。項(xiàng)目的相關(guān)細(xì)節(jié)后續(xù)會(huì)選擇性的出一些博客以供交流噪漾。最好的學(xué)習(xí)方式就是不斷練習(xí)和交流硼砰,項(xiàng)目代碼在我的github上,希望有興趣的小伙伴能給出改進(jìn)建議欣硼,本人將十分感謝题翰。