您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“iOS怎么實現翻頁效果”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“iOS怎么實現翻頁效果”這篇文章吧。
大體思路:
在self.view 上放置一個label,label.text從數組中獲得,當點擊上下頁按鈕的時候,改變label.text,并且執行翻頁效果動畫.
效果如圖:
主要代碼:
#pragma mark - 下一頁按鈕響應事件 - (void)nextPage:(UIButton *)btn { _forwardBtn.enabled = YES; if (_count<_arr.count-1) { btn.enabled = YES; _label.text = [_arr objectAtIndex:_count+1]; NSString *subtypeString; subtypeString = kCATransitionFromRight; [self transitionWithType:@"pageCurl" WithSubtype:subtypeString ForView:self.view]; _count = _count + 1; } else { _count = _arr.count - 1; btn.enabled = NO; [self showAlert:@"已經是最后一頁咯,親(づ ̄ 3 ̄)づ"]; } NSLog(@"%ld", (long)_count); } #pragma CATransition動畫實現 /** * 動畫效果實現 * * @param type 動畫的類型 在開頭的枚舉中有列舉,比如 CurlDown//下翻頁,CurlUp//上翻頁 ,FlipFromLeft//左翻轉,FlipFromRight//右翻轉 等... * @param subtype 動畫執行的起始位置,上下左右 * @param view 哪個view執行的動畫 */ - (void) transitionWithType:(NSString *) type WithSubtype:(NSString *) subtype ForView : (UIView *) view { CATransition *animation = [CATransition animation]; animation.duration = 0.7f; animation.type = type; if (subtype != nil) { animation.subtype = subtype; } animation.timingFunction = UIViewAnimationOptionCurveEaseInOut; [view.layer addAnimation:animation forKey:@"animation"]; }
主要就是熟悉一下簡單動畫的實現了
本項目gitHub地址:https://github.com/iOSJason/PageBlurDemo.git
2 添加啟動頁和手勢控制的翻頁效果實現,添加swipe手勢后畫面切換更生動.
效果圖:
#pragma mark - 手勢 - (void)configTapGes { _fromRightSwip = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(nextPage:)]; _fromRightSwip.direction = UISwipeGestureRecognizerDirectionLeft; [self.view addGestureRecognizer:_fromRightSwip]; _fromLeftSwip = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(forwardPage:)]; _fromLeftSwip.direction = UISwipeGestureRecognizerDirectionRight; [self.view addGestureRecognizer:_fromLeftSwip]; } //判斷是否是第一次進入程序 if (![[[NSUserDefaults standardUserDefaults] objectForKey:@"isFirst"] isEqualToString:@"yes"]) { //顯示提示 UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"tishi" message:@"" delegate:self cancelButtonTitle:@"曉得了" otherButtonTitles: nil]; [alert show]; [[NSUserDefaults standardUserDefaults]setObject:@"yes" forKey:@"isFirst"]; }
動畫效果和上一個是一種效果,具體代碼請看我的gibHub,和上一個項目在一個地址里面,這個在 SwipeGesturePageBlurDemo 分支中.
以上是“iOS怎么實現翻頁效果”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。