也可以不局限于日歷循诉,可以使用在任何橫向滑動(dòng),但是每個(gè)cell高度不同的地方
代碼地址:https://github.com/ZKhercules/ElegantCalendar
使用UIcollectionview 添加分頁(yè)橫向滑動(dòng)的方法創(chuàng)建的日歷
因每月日期不同脾还,日歷的高度要隨之變化
在月份滑動(dòng)結(jié)束之后再更新高度肥印,過(guò)度會(huì)過(guò)于生硬
思路創(chuàng)新识椰,在滑動(dòng)過(guò)程中,判斷即將要話到的月份高度
首先判斷當(dāng)前UIcollectionview 正在向左滑或是右滑
然后判斷即將滑到的月份高度與當(dāng)前月份高度差
使用 (高度差 / 屏幕寬度 * contentOffset.x) 緩慢增加差值
這里著重說(shuō)明一下contentOffset.x深碱,本質(zhì)上每一頁(yè)滑動(dòng)時(shí)都是希望從 0 ~ 屏幕寬
但是以414屏幕寬舉例腹鹉,從第二頁(yè)開始再向右滑動(dòng)時(shí)就已經(jīng)是從414 ~ 828了,這個(gè)值如果直接使用越往后越會(huì)出現(xiàn)巨大的偏差
所以contentOffset.x在使用時(shí)敷硅,要減掉已經(jīng)滑過(guò)去的頁(yè)面的值功咒,保證每一頁(yè)滑動(dòng)時(shí)都是從0 ~ 屏幕寬
關(guān)鍵代碼已在工程中標(biāo)注
希望可以幫助到你