iOS 電商詳情頁實現(xiàn)—TableView和WKWebView混合使用

本文主要講三大塊,1.webView如何在UITableView中使用,并且要合理的計算出webView的高度,2.電商商品倒計時功能的實現(xiàn),3.講解如何分析動畫,并且實現(xiàn)一個翻轉(zhuǎn)動畫。

在開始講之前,我想先把實現(xiàn)的效果先放出來。



1.webView如何在UITableView中使用,并且要合理的計算出webView的高度

由于xcode現(xiàn)在已經(jīng)更新到了11,當(dāng)然是要講解WKWebView了。筆者在實現(xiàn)上面功能的時候,第一個遇到的坑就是高度計算的問題,網(wǎng)上有很多這樣的文章,教你如何去計算高度,我這邊講一個最最合適的方法,用kvo動態(tài)去監(jiān)聽webView的高度。第二個坑就是高度計算準(zhǔn)確之后,在tableView滑動的時候會很卡很卡,經(jīng)過查閱文章,需要把webview加在UIScrollView上面,然后再把scrollView加在cell的contentView上面,加完之后你會發(fā)現(xiàn),哈哈,一點都不卡了,很開心是不是,下面把主要的代碼貼上來,大家看一看。

主要代碼如下:

大家把我的這些代碼加上項目里面一跑起來,效果就會跟筆者一樣了。

2.電商商品倒計時功能的實現(xiàn)

做過電商的童鞋都知道,項目里面有很多秒殺之類的活動,秒殺之類的活動肯定就會有倒計時了,倒計時的功能本質(zhì)是這樣拿到服務(wù)器給的時間和本地時間去計算,最后得出我們想要的結(jié)果,實現(xiàn)的方案有兩種,一種是使用NSTimer定時器來倒計時,另外一種是使用GCD來倒計時,本文采用第二種實現(xiàn)方案,下面給出具體思路。

主要步驟:

1. 計算截止時間與當(dāng)前時間差

2. 用GCD倒計時 給時分秒字符串通過遞減過后的秒數(shù),重新計算數(shù)值,并輸出顯示, 遞減時間差 倒計時-1

1. 計算截止時間與當(dāng)前時間差:

2.使用GCD來實現(xiàn)倒計時

用GCD這個寫有一個好處,跳頁不會清零 跳頁清零會出現(xiàn)倒計時錯誤

有一點需要注意的是,控制器銷毀的時候,需要把我們的timer取消掉。

3.實現(xiàn)一個翻轉(zhuǎn)動畫

1.我當(dāng)時寫的這個效果,主要參考另外一個app,當(dāng)時在那個app查看效果,因為效果很快,大概也就0.25秒左右,一晃沒過,我每次看效果,都覺得是這個,比如折疊效果,平移效果等,做了之后發(fā)現(xiàn),總是得不到想要的結(jié)果,很是頭疼,問題出在哪里了,我在想問題還是出在動畫太快了,我憑肉眼去看效果總是會有問題,最后我這邊想了一個辦法,采用iphone自帶的錄屏功能,把你需要參考的動畫效果錄下來,錄下來之后,你就需要在iphone的圖片里去找到對應(yīng)的視頻,然后一幀一幀的去看,這個時候就很容易得到你的答案了。我當(dāng)時用這個一看之后,這個不就是個翻轉(zhuǎn)動畫嗎,知道是什么動畫類型之后,就很容易去寫代碼了。

下面貼出主要代碼:

講到這里,本文已經(jīng)結(jié)束了,本人demo下載地址如下:demo下載地址。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容