欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

UICollectionView的無(wú)限滾動(dòng)---妥協(xié)做法-創(chuàng)新互聯(lián)

項(xiàng)目中總有寫比較變態(tài)的需求,我們的UI設(shè)計(jì)師有喜歡很酷的交互,其中有個(gè)需求類似這種的

創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括越城網(wǎng)站建設(shè)、越城網(wǎng)站制作、越城網(wǎng)頁(yè)制作以及越城網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,越城網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到越城省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

        UICollectionView的無(wú)限滾動(dòng)---妥協(xié)做法

    右側(cè)部分是可以滾動(dòng)的當(dāng)然是無(wú)限滾動(dòng),這中效果只有UICollectionView的自定義布局才能實(shí)現(xiàn),重寫Layout的幾個(gè)方法主要的代碼就是給UICollectionViewLayoutAttributes的屬性賦值,主要是為這幾個(gè)center,size, transform3D;屬性賦值,主要使用的是AWCollectionViewDialLayout這個(gè)三方的布局。

    但是,這個(gè)三方并沒(méi)有實(shí)現(xiàn)無(wú)限滾動(dòng)的。無(wú)限滾動(dòng)也可以在scrollViewDidScroll:方法中進(jìn)行檢測(cè),開頭和結(jié)尾地方多添加幾個(gè)元素,如果到最后一個(gè)了重新回到第一個(gè),但是這種實(shí)現(xiàn)有很強(qiáng)的卡頓感,所以后來(lái)放棄了這個(gè)。后來(lái),在github找到了一種辦法,自定義拖拽手勢(shì)UIPanGestureRecognizer

,然后再拖拽手勢(shì)的target,action方法中進(jìn)行判斷如果狀態(tài)來(lái)更改UICollectionView的偏移量,代碼如下

- (void)customPan:(UIPanGestureRecognizer *)sender {
        if (sender.state == UIGestureRecognizerStateBegan) {
            self.oldOffset = self.collectionView.contentOffset;
        }
        
        if (sender.state == UIGestureRecognizerStateChanged) {
            CGPoint translation = [sender translationInView:self.collectionView];
            CGPoint offset;
            offset.y = (self.oldOffset.y - translation.y);
            if (fabsf(translation.y)>30) {
                [self.collectionView setContentOffset:offset animated:NO];
            }
        }
        
        if (sender.state == UIGestureRecognizerStateEnded) {
            CGPoint translation = [sender translationInView:self.collectionView];
            self.previousCell = [self.collectionView cellForItemAtIndexPath:[NSIndexPath indexPathForItem:self.centerItem inSection:0]];
            NSInteger step = 1;
            step = abs(translation.y/item_height)+1;//計(jì)算需要走幾步
            
            if (translation.y > 0) {////向上滑動(dòng)
                if (translation.y > (item_height/2+10)) {
                    if ((0 < self.centerItem) && (self.centerItem <= (self.count - step))) {
                        self.centerItem -= step;
                    }
                }
                
            } else if (translation.y < 0){//向下滑動(dòng)
                if (abs(translation.y)>(item_height/2+10)) {
                    if ((0 <= self.centerItem) && (self.centerItem < self.count - step)) {
                        self.centerItem += step;
                    }
                }
            }
            [self.collectionView setContentOffset:CGPointMake(0, self.centerItem*item_height) animated:YES];
        }
        
        }

  然后再滾動(dòng)視圖的scrollViewDidEndScrollingAnimation:的代理方法中來(lái)判斷視圖的偏移量如果到首部或者尾部就重新設(shè)置UICollectionView的偏移量,這樣沒(méi)有絲毫的卡頓感了,但是卻有個(gè)很大的缺陷,自定義的手勢(shì)沒(méi)有是減速的,最多有個(gè)滾動(dòng)結(jié)束時(shí)的動(dòng)畫。

    UICollectionView的無(wú)限滾動(dòng)的方法我找了很長(zhǎng)時(shí)間一直沒(méi)有找到很理想的方法,所以這種只能算是個(gè)妥協(xié)的方法。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)頁(yè)題目:UICollectionView的無(wú)限滾動(dòng)---妥協(xié)做法-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://www.chinadenli.net/article16/dceggg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站網(wǎng)站設(shè)計(jì)公司外貿(mào)建站網(wǎng)頁(yè)設(shè)計(jì)公司App設(shè)計(jì)企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)