内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

pageControl頁(yè)碼實(shí)時(shí)更新的實(shí)現(xiàn)-創(chuàng)新互聯(lián)

    iOS開(kāi)發(fā)過(guò)程中會(huì)經(jīng)常遇到scrollView與pageControl混合使用的情況。scrollView與pageControl的配合邏輯代碼一般是寫在以下代理函數(shù)中的:

創(chuàng)新互聯(lián)公司成立于2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元東興做網(wǎng)站,已為上家服務(wù),為東興各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView

即在scrollView滾動(dòng)結(jié)束時(shí)pageControl才會(huì)更新代碼,這樣可以防止pageControl頁(yè)碼的邏輯混亂。但這同樣會(huì)出現(xiàn)一個(gè)問(wèn)題,那就是在用戶快速滑動(dòng)scrollView的時(shí)候,pageControl的頁(yè)碼無(wú)法更新,在用戶看來(lái)就是scrollVIew在滑動(dòng),而頁(yè)碼無(wú)變化。其實(shí)解決的方法很簡(jiǎn)單,原理就是將pageControl的頁(yè)碼更新放到以下代理函數(shù)中即可:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

這個(gè)函數(shù)會(huì)在scrollView滑動(dòng)過(guò)程中不斷被調(diào)用,將pageControl的頁(yè)碼更新操作放在這個(gè)函數(shù)里執(zhí)行即可獲得頁(yè)碼實(shí)時(shí)更新的效果。代碼如下:

//scrollView滑動(dòng)結(jié)束時(shí)調(diào)用
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
    if(_p_w_picpathScrollView.contentOffset.x >= (totalPage-1.5)*_p_w_picpathScrollView.width){
        [_p_w_picpathScrollView setContentOffset:CGPointMake(_p_w_picpathScrollView.width, 0) animated:NO];
    }else if(_p_w_picpathScrollView.contentOffset.x<0.5*_p_w_picpathScrollView.width){
        [_p_w_picpathScrollView setContentOffset:CGPointMake((totalPage-2)*_p_w_picpathScrollView.width, 0) animated:NO];
    }
    NSInteger currentPage = roundf((_p_w_picpathScrollView.contentOffset.x-_p_w_picpathScrollView.width) / [self getWidth]);
    _pageControl.currentPage = currentPage;
}


//scrollView滑動(dòng)過(guò)程中多次調(diào)用
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
    NSInteger currentPage;
    if(_p_w_picpathScrollView.contentOffset.x >= (totalPage-1.5)*_p_w_picpathScrollView.width) {
        currentPage = roundf((_p_w_picpathScrollView.contentOffset.x-_p_w_picpathScrollView.width) / [self getWidth]) - (totalPage-2);
    }else if(_p_w_picpathScrollView.contentOffset.x<0.5*_p_w_picpathScrollView.width){
        // 設(shè)置當(dāng)前頁(yè)
        currentPage = roundf((_p_w_picpathScrollView.contentOffset.x-_p_w_picpathScrollView.width) / [self getWidth]) + (totalPage-2);
    }else{
        currentPage = roundf((_p_w_picpathScrollView.contentOffset.x -_p_w_picpathScrollView.width) / [self getWidth]);
    }
    _pageControl.currentPage = currentPage;
}

需要說(shuō)明的幾點(diǎn):

1、這個(gè)scrollView是根據(jù)需求“banner需要能夠循環(huán)滑動(dòng)”而設(shè)置的,原理如下:

(1)有三個(gè)主要的數(shù)據(jù)view,分別為view1,view2,view3,這三個(gè)是真正要顯示的數(shù)據(jù)view。為了實(shí)現(xiàn)“循環(huán)效果”,另外定義了兩個(gè)輔助view(view1_fz和view3_fz),在scrollView中的排列順序如下圖所示:

pageControl頁(yè)碼實(shí)時(shí)更新的實(shí)現(xiàn)

(2)在右滑至View1_fz的位置時(shí),通過(guò)setContentOffset將_p_w_picpathScrollView移到View1的位置,并關(guān)閉動(dòng)畫效果。在左滑至View3_fz的位置時(shí),通過(guò)setContentOffset將_p_w_picpathScrollView移到View3的位置,并關(guān)閉動(dòng)畫效果。

這樣就實(shí)現(xiàn)了循環(huán)的效果。

2、這里的totalPage指的是所有的view個(gè)數(shù),包括輔助的view,即totalPage=5。

3、通過(guò)contentOffset的值計(jì)算當(dāng)前頁(yè)碼currentPage。

4、這里的“翻頁(yè)”是以view的一半寬度為標(biāo)準(zhǔn)的,即scrollView翻頁(yè)超過(guò)了下一頁(yè)的一半時(shí)currentPage顯示為下一頁(yè)。

5、為了實(shí)現(xiàn)pageControl的實(shí)時(shí)更新效果,在scrollViewDidScroll中對(duì)currentPage實(shí)時(shí)進(jìn)行計(jì)算。

6、為了防止頁(yè)碼的錯(cuò)誤,在scrollViewDidEndDecelerating函數(shù)中依然保留一次對(duì)currentPage的最終計(jì)算。

另外有需要云服務(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)景需求。

文章標(biāo)題:pageControl頁(yè)碼實(shí)時(shí)更新的實(shí)現(xiàn)-創(chuàng)新互聯(lián)
分享URL:http://m.rwnh.cn/article4/hceoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站建設(shè)、網(wǎng)站改版、做網(wǎng)站用戶體驗(yàn)

廣告

聲明:本網(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)站建設(shè)網(wǎng)站維護(hù)公司
永嘉县| 新邵县| 许昌县| 资讯| 浪卡子县| 威远县| 喀喇| 达拉特旗| 原平市| 互助| 鞍山市| 五指山市| 房产| 阜新| 得荣县| 营山县| 滦平县| 阿坝| 唐山市| 陇西县| 阳高县| 六枝特区| 萨嘎县| 松潘县| 连城县| 泗阳县| 南华县| 汉阴县| 宜川县| 博乐市| 托克托县| 成安县| 洛扎县| 北安市| 抚宁县| 称多县| 游戏| 南雄市| 铜山县| 平罗县| 安阳市|