iOS開發(fā) 電子書閱讀器 雙面顯示

最近執(zhí)著于對技術(shù)的鉆研與熱愛~~,此處省略N個字。。。哈哈

那么電子書閱讀器究竟該怎么實(shí)現(xiàn)?如何實(shí)現(xiàn)雙面顯示?如何實(shí)現(xiàn)文本文件的分頁及高性能的用戶體驗(yàn)?

首先我們來看看效果圖然后說怎么實(shí)現(xiàn):

首先當(dāng)然+毫無疑問的使用官方提供的UIPageViewController控件,網(wǎng)上也有人通過UIScrollView+手勢實(shí)現(xiàn)的DEMO,這里不做評論,只說一句:何必脫被子放屁浪費(fèi)那一張紙。。。首先按照如下代碼,手動擼吧,這里就不帖了,為的是你自己寫的同時體驗(yàn)一下這種感覺。當(dāng)然也有參考其他同學(xué)的想法和代碼,在此謝過。但是對于雙面顯示的處理,相信全網(wǎng)獨(dú)此一家。

ViewDidLoad方法中對UIPageViewController進(jìn)行初始化。注意[pageController setDoubleSided:YES];如果你不用這行代碼開啟雙面顯示,那就請你關(guān)閉瀏覽器去玩去,下面的事情與你無關(guān)了。因?yàn)閱雾撁娣请p面顯示根本不在本文的討論范圍,不要浪費(fèi)您的時間。self.areaSafeHeight是我在父類控制器中封裝的計算當(dāng)前視圖的有效顯示高度(沒有NAV+TABBAR高度),你自己寫。

然后繼續(xù),下面都在干什么?總體做了三件事情。

1、讀取文本文件(小說內(nèi)容)

2、分頁計算

3、初始化一個(內(nèi)容首頁)控制器顯示小說第一頁內(nèi)容,預(yù)先加載了5頁,后面的其他頁面由其他事件觸發(fā),即想法是每當(dāng)用戶翻一頁,就解析連續(xù)的幾頁,當(dāng)然下面代碼并沒有提供這個功能,讀者自己去解決,這里就不提供這個觸發(fā)機(jī)制及處理邏輯。當(dāng)然你也許會發(fā)現(xiàn)UIPageViewController總頁數(shù)不對,肯定不對,那你就得自己去處理咯,這里就也不提供相應(yīng)的具體方法。

這里就是核心的顯示,來控制當(dāng)前頁面是正常顯示還是反轉(zhuǎn)鏡像顯示,即下面與反面。因?yàn)槿绻O(shè)置為雙面顯示,以下三個方法每滑動一次,這兩個代理方法就會被調(diào)用兩次,所以,我們要根據(jù)這個計數(shù)器的奇偶來處理怎么顯示。自己體會和分析哦。

下面我就不廢話打字了,太累了。。。。同學(xué)們慢慢體會吧。

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

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

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