iOS問卷調(diào)查動畫效果實現(xiàn)

在項目中有時候會有調(diào)查問卷的功能,介于該功能太過簡單,一般都是從后臺獲取到問題以及問題的選項,在客戶端一般都是使用UITableView來實現(xiàn)的,但是出來這么一個問題:有的調(diào)查問卷有五六十個,總不可能新建五六十個頁面壓棧跳轉(zhuǎn)吧,那當然是不可能滴。
我們可以新建一個頁面使用UITableView來承載和展示問卷調(diào)查的問題和選項,當翻頁的時候直接使用動畫實現(xiàn)類似翻頁的效果并切換UITableView的數(shù)據(jù)源展示,這樣就會有更好的用戶體驗。廢話就這么多,接下來我就直接提供思路以及部分核心代碼。

1. 新建頁面,tableview布局代理等的實現(xiàn),在頁面中定義一個變量currentIndex(默認0)用于存儲當前頁碼數(shù)(0~n)

2. 根據(jù)需求,如果要求在頁面上添加兩個按鈕來上翻頁和下翻頁,那就直接創(chuàng)建按鈕并添加點擊方法,如果不用按鈕,使用手勢的話,就可以直接給tableview添加左滑和右滑手勢來實現(xiàn)翻頁(這里以手勢為例子講解,順便復習一下手勢)。

    // 創(chuàng)建滑動手勢
    UISwipeGestureRecognizer *left = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(leftAction:)];
    // 指定滑動手勢的方向
    left.direction = UISwipeGestureRecognizerDirectionLeft;
    // 記得添加到tableview上
    [self.tableV addGestureRecognizer:left];

右滑手勢也是同理,并且實現(xiàn)左滑右滑的方法。

3. 重要的步驟來了,那就是實現(xiàn)翻頁的效果,直接上代碼。

/// 跳轉(zhuǎn)到下一頁
-(void)pushToNextPage{  
    if (currentIndex < (self.tableArr.count-1)) {  
        currentIndex++;
        //動畫  
        CATransition * animation = [CATransition animation];  
        animation.type = kCATransitionReveal;  //動畫切換風格
        animation.subtype = kCATransitionFromRight; //動畫切換方向
        animation.duration = 0.3f;  
        [_tableV.layer addAnimation:animation forKey:nil];
        
        [_tableV reloadData];  
    }else if(currentIndex == (self.tableArr.count-1)){  
        //處于最后一頁,做提交操作  
        DLog(@"現(xiàn)在已經(jīng)是最后一頁了");
    }  
}

/// 返回到上一頁
-(void)popToPreviousPage{   
    if (currentIndex>0) {  
        currentIndex--;  
        //動畫  
        CATransition * animation = [CATransition animation];  
        animation.type = kCATransitionMoveIn;  //動畫切換風格
        animation.subtype = kCATransitionFromLeft; //動畫切換方向  
        animation.duration = 0.3f;  
        [_tableV.layer addAnimation:animation forKey:nil];  
        
        [_tableV reloadData];  
    }else if (currentIndex == 0) {
        DLog(@"現(xiàn)在已經(jīng)是第一頁了");
    }
}  
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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

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