日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS常用动画

發布時間:2025/7/25 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS常用动画 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自:http://www.open-open.com/lib/view/open1372152939072.html

讀書人學習不算偷

1 #import <Foundation/Foundation.h> 2 3 /** 4 ! 導入QuartzCore.framework 5 * 6 * Example: 7 * 8 * Step.1 9 * 10 * #import "CoreAnimationEffect.h" 11 * 12 * Step.2 13 * 14 * [CoreAnimationEffect animationMoveLeft:your view]; 15 * 16 */ 17 18 19 @interface CoreAnimationEffect : NSObject 20 21 #pragma mark - Custom Animation 22 23 /** 24 * @brief 快速構建一個你自定義的動畫,有以下參數供你設置. 25 * 26 * @note 調用系統預置Type需要在調用類引入下句 27 * 28 * #import <QuartzCore/QuartzCore.h> 29 * 30 * @param type 動畫過渡類型 31 * @param subType 動畫過渡方向(子類型) 32 * @param duration 動畫持續時間 33 * @param timingFunction 動畫定時函數屬性 34 * @param theView 需要添加動畫的view. 35 * 36 * 37 */ 38 39 + (void)showAnimationType:(NSString *)type 40 withSubType:(NSString *)subType 41 duration:(CFTimeInterval)duration 42 timingFunction:(NSString *)timingFunction 43 view:(UIView *)theView; 44 45 #pragma mark - Preset Animation 46 47 /** 48 * 下面是一些常用的動畫效果 49 */ 50 51 // reveal 52 + (void)animationRevealFromBottom:(UIView *)view; 53 + (void)animationRevealFromTop:(UIView *)view; 54 + (void)animationRevealFromLeft:(UIView *)view; 55 + (void)animationRevealFromRight:(UIView *)view; 56 57 // 漸隱漸消 58 + (void)animationEaseIn:(UIView *)view; 59 + (void)animationEaseOut:(UIView *)view; 60 61 // 翻轉 62 + (void)animationFlipFromLeft:(UIView *)view; 63 + (void)animationFlipFromRigh:(UIView *)view; 64 65 // 翻頁 66 + (void)animationCurlUp:(UIView *)view; 67 + (void)animationCurlDown:(UIView *)view; 68 69 // push 70 + (void)animationPushUp:(UIView *)view; 71 + (void)animationPushDown:(UIView *)view; 72 + (void)animationPushLeft:(UIView *)view; 73 + (void)animationPushRight:(UIView *)view; 74 75 // move 76 + (void)animationMoveUp:(UIView *)view duration:(CFTimeInterval)duration; 77 + (void)animationMoveDown:(UIView *)view duration:(CFTimeInterval)duration; 78 + (void)animationMoveLeft:(UIView *)view; 79 + (void)animationMoveRight:(UIView *)view; 80 81 // 旋轉縮放 82 83 // 各種旋轉縮放效果 84 + (void)animationRotateAndScaleEffects:(UIView *)view; 85 86 // 旋轉同時縮小放大效果 87 + (void)animationRotateAndScaleDownUp:(UIView *)view; 88 89 90 91 #pragma mark - Private API 92 93 /** 94 * 下面動畫里用到的某些屬性在當前API里是不合法的,但是也可以用. 95 */ 96 97 + (void)animationFlipFromTop:(UIView *)view; 98 + (void)animationFlipFromBottom:(UIView *)view; 99 100 + (void)animationCubeFromLeft:(UIView *)view; 101 + (void)animationCubeFromRight:(UIView *)view; 102 + (void)animationCubeFromTop:(UIView *)view; 103 + (void)animationCubeFromBottom:(UIView *)view; 104 105 + (void)animationSuckEffect:(UIView *)view; 106 107 + (void)animationRippleEffect:(UIView *)view; 108 109 + (void)animationCameraOpen:(UIView *)view; 110 + (void)animationCameraClose:(UIView *)view; 111 112 @end 113 114 115 116 // 117 // CoreAnimationEffect.m 118 // CoreAnimationEffect 119 // 120 // Created by VincentXue on 13-1-19. 121 // Copyright (c) 2013年 VincentXue. All rights reserved. 122 // 123 124 #import "CoreAnimationEffect.h" 125 126 #import <QuartzCore/QuartzCore.h> 127 128 @implementation CoreAnimationEffect 129 130 /** 131 * 首先推薦一個不錯的網站. http://www.raywenderlich.com 132 */ 133 134 #pragma mark - Custom Animation 135 136 + (void)showAnimationType:(NSString *)type 137 withSubType:(NSString *)subType 138 duration:(CFTimeInterval)duration 139 timingFunction:(NSString *)timingFunction 140 view:(UIView *)theView 141 { 142 /** CATransition 143 * 144 * @see http://www.dreamingwish.com/dream-2012/the-concept-of-coreanimation-programming-guide.html 145 * @see http://geeklu.com/2012/09/animation-in-ios/ 146 * 147 * CATransition 常用設置及屬性注解如下: 148 */ 149 150 CATransition *animation = [CATransition animation]; 151 152 /** delegate 153 * 154 * 動畫的代理,如果你想在動畫開始和結束的時候做一些事,可以設置此屬性,它會自動回調兩個代理方法. 155 * 156 * @see CAAnimationDelegate (按下command鍵點擊) 157 */ 158 159 animation.delegate = self; 160 161 /** duration 162 * 163 * 動畫持續時間 164 */ 165 166 animation.duration = duration; 167 168 /** timingFunction 169 * 170 * 用于變化起點和終點之間的插值計算,形象點說它決定了動畫運行的節奏,比如是均勻變化(相同時間變化量相同)還是 171 * 先快后慢,先慢后快還是先慢再快再慢. 172 * 173 * 動畫的開始與結束的快慢,有五個預置分別為(下同): 174 * kCAMediaTimingFunctionLinear 線性,即勻速 175 * kCAMediaTimingFunctionEaseIn 先慢后快 176 * kCAMediaTimingFunctionEaseOut 先快后慢 177 * kCAMediaTimingFunctionEaseInEaseOut 先慢后快再慢 178 * kCAMediaTimingFunctionDefault 實際效果是動畫中間比較快. 179 */ 180 181 /** timingFunction 182 * 183 * 當上面的預置不能滿足你的需求的時候,你可以使用下面的兩個方法來自定義你的timingFunction 184 * 具體參見下面的URL 185 * 186 * @see http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/CAMediaTimingFunction_class/Introduction/Introduction.html 187 * 188 * + (id)functionWithControlPoints:(float)c1x :(float)c1y :(float)c2x :(float)c2y; 189 * 190 * - (id)initWithControlPoints:(float)c1x :(float)c1y :(float)c2x :(float)c2y; 191 */ 192 193 animation.timingFunction = [CAMediaTimingFunction functionWithName:timingFunction]; 194 195 /** fillMode 196 * 197 * 決定當前對象過了非active時間段的行為,比如動畫開始之前,動畫結束之后. 198 * 預置為: 199 * kCAFillModeRemoved 默認,當動畫開始前和動畫結束后,動畫對layer都沒有影響,動畫結束后,layer會恢復到之前的狀態 200 * kCAFillModeForwards 當動畫結束后,layer會一直保持著動畫最后的狀態 201 * kCAFillModeBackwards 和kCAFillModeForwards相對,具體參考上面的URL 202 * kCAFillModeBoth kCAFillModeForwards和kCAFillModeBackwards在一起的效果 203 */ 204 205 animation.fillMode = kCAFillModeForwards; 206 207 /** removedOnCompletion 208 * 209 * 這個屬性默認為YES.一般情況下,不需要設置這個屬性. 210 * 211 * 但如果是CAAnimation動畫,并且需要設置 fillMode 屬性,那么需要將 removedOnCompletion 設置為NO,否則 212 * fillMode無效 213 */ 214 215 // animation.removedOnCompletion = NO; 216 217 /** type 218 * 219 * 各種動畫效果 其中除了'fade', `moveIn', `push' , `reveal' ,其他屬于似有的API(我是這么認為的,可以點進去看下注釋). 220 * ↑↑↑上面四個可以分別使用'kCATransitionFade', 'kCATransitionMoveIn', 'kCATransitionPush', 'kCATransitionReveal'來調用. 221 * @"cube" 立方體翻滾效果 222 * @"moveIn" 新視圖移到舊視圖上面 223 * @"reveal" 顯露效果(將舊視圖移開,顯示下面的新視圖) 224 * @"fade" 交叉淡化過渡(不支持過渡方向) (默認為此效果) 225 * @"pageCurl" 向上翻一頁 226 * @"pageUnCurl" 向下翻一頁 227 * @"suckEffect" 收縮效果,類似系統最小化窗口時的神奇效果(不支持過渡方向) 228 * @"rippleEffect" 滴水效果,(不支持過渡方向) 229 * @"oglFlip" 上下左右翻轉效果 230 * @"rotate" 旋轉效果 231 * @"push" 232 * @"cameraIrisHollowOpen" 相機鏡頭打開效果(不支持過渡方向) 233 * @"cameraIrisHollowClose" 相機鏡頭關上效果(不支持過渡方向) 234 */ 235 236 /** type 237 * 238 * kCATransitionFade 交叉淡化過渡 239 * kCATransitionMoveIn 新視圖移到舊視圖上面 240 * kCATransitionPush 新視圖把舊視圖推出去 241 * kCATransitionReveal 將舊視圖移開,顯示下面的新視圖 242 */ 243 244 animation.type = type; 245 246 /** subtype 247 * 248 * 各種動畫方向 249 * 250 * kCATransitionFromRight; 同字面意思(下同) 251 * kCATransitionFromLeft; 252 * kCATransitionFromTop; 253 * kCATransitionFromBottom; 254 */ 255 256 /** subtype 257 * 258 * 當type為@"rotate"(旋轉)的時候,它也有幾個對應的subtype,分別為: 259 * 90cw 逆時針旋轉90° 260 * 90ccw 順時針旋轉90° 261 * 180cw 逆時針旋轉180° 262 * 180ccw 順時針旋轉180° 263 */ 264 265 /** 266 * type與subtype的對應關系(必看),如果對應錯誤,動畫不會顯現. 267 * 268 * @see http://iphonedevwiki.net/index.php/CATransition 269 */ 270 271 animation.subtype = subType; 272 273 /** 274 * 所有核心動畫和特效都是基于CAAnimation,而CAAnimation是作用于CALayer的.所以把動畫添加到layer上. 275 * forKey 可以是任意字符串. 276 */ 277 278 [theView.layer addAnimation:animation forKey:nil]; 279 } 280 281 #pragma mark - Preset Animation 282 283 284 + (void)animationRevealFromBottom:(UIView *)view 285 { 286 CATransition *animation = [CATransition animation]; 287 [animation setDuration:0.35f]; 288 [animation setType:kCATransitionReveal]; 289 [animation setSubtype:kCATransitionFromBottom]; 290 [animation setFillMode:kCAFillModeForwards]; 291 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]]; 292 293 [view.layer addAnimation:animation forKey:nil]; 294 } 295 296 + (void)animationRevealFromTop:(UIView *)view 297 { 298 CATransition *animation = [CATransition animation]; 299 [animation setDuration:0.35f]; 300 [animation setType:kCATransitionReveal]; 301 [animation setSubtype:kCATransitionFromTop]; 302 [animation setFillMode:kCAFillModeForwards]; 303 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]]; 304 305 [view.layer addAnimation:animation forKey:nil]; 306 } 307 308 + (void)animationRevealFromLeft:(UIView *)view 309 { 310 CATransition *animation = [CATransition animation]; 311 [animation setDuration:0.35f]; 312 [animation setType:kCATransitionReveal]; 313 [animation setSubtype:kCATransitionFromLeft]; 314 [animation setFillMode:kCAFillModeForwards]; 315 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; 316 317 [view.layer addAnimation:animation forKey:nil]; 318 } 319 320 + (void)animationRevealFromRight:(UIView *)view 321 { 322 CATransition *animation = [CATransition animation]; 323 [animation setDuration:0.35f]; 324 [animation setType:kCATransitionReveal]; 325 [animation setSubtype:kCATransitionFromRight]; 326 [animation setFillMode:kCAFillModeForwards]; 327 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; 328 329 [view.layer addAnimation:animation forKey:nil]; 330 } 331 332 333 + (void)animationEaseIn:(UIView *)view 334 { 335 CATransition *animation = [CATransition animation]; 336 [animation setDuration:0.35f]; 337 [animation setType:kCATransitionFade]; 338 [animation setFillMode:kCAFillModeForwards]; 339 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]]; 340 341 [view.layer addAnimation:animation forKey:nil]; 342 } 343 344 + (void)animationEaseOut:(UIView *)view 345 { 346 CATransition *animation = [CATransition animation]; 347 [animation setDuration:0.35f]; 348 [animation setType:kCATransitionFade]; 349 [animation setFillMode:kCAFillModeForwards]; 350 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]]; 351 352 [view.layer addAnimation:animation forKey:nil]; 353 } 354 355 356 /** 357 * UIViewAnimation 358 * 359 * @see http://www.cocoachina.com/bbs/read.php?tid=110168 360 * 361 * @brief UIView動畫應該是最簡單便捷創建動畫的方式了,詳解請猛戳URL. 362 * 363 * @method beginAnimations:context 第一個參數用來作為動畫的標識,第二個參數給代理代理傳遞消息.至于為什么一個使用 364 * nil而另外一個使用NULL,是因為第一個參數是一個對象指針,而第二個參數是基本數據類型. 365 * @method setAnimationCurve: 設置動畫的加速或減速的方式(速度) 366 * @method setAnimationDuration: 動畫持續時間 367 * @method setAnimationTransition:forView:cache: 第一個參數定義動畫類型,第二個參數是當前視圖對象,第三個參數是是否使用緩沖區 368 * @method commitAnimations 動畫結束 369 */ 370 371 + (void)animationFlipFromLeft:(UIView *)view 372 { 373 [UIView beginAnimations:nil context:NULL]; 374 [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 375 [UIView setAnimationDuration:0.35f]; 376 [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:view cache:NO]; 377 [UIView commitAnimations]; 378 } 379 380 + (void)animationFlipFromRigh:(UIView *)view 381 { 382 [UIView beginAnimations:nil context:NULL]; 383 [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 384 [UIView setAnimationDuration:0.35f]; 385 [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:view cache:NO]; 386 [UIView commitAnimations]; 387 } 388 389 390 + (void)animationCurlUp:(UIView *)view 391 { 392 [UIView beginAnimations:nil context:NULL]; 393 [UIView setAnimationCurve:UIViewAnimationCurveEaseOut]; 394 [UIView setAnimationDuration:0.35f]; 395 [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:view cache:NO]; 396 [UIView commitAnimations]; 397 } 398 399 + (void)animationCurlDown:(UIView *)view 400 { 401 [UIView beginAnimations:nil context:NULL]; 402 [UIView setAnimationCurve:UIViewAnimationCurveEaseIn]; 403 [UIView setAnimationDuration:0.35f]; 404 [UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:view cache:NO]; 405 [UIView commitAnimations]; 406 } 407 408 + (void)animationPushUp:(UIView *)view 409 { 410 CATransition *animation = [CATransition animation]; 411 [animation setDuration:0.35f]; 412 [animation setFillMode:kCAFillModeForwards]; 413 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]]; 414 [animation setType:kCATransitionPush]; 415 [animation setSubtype:kCATransitionFromTop]; 416 417 [view.layer addAnimation:animation forKey:nil]; 418 } 419 420 + (void)animationPushDown:(UIView *)view 421 { 422 CATransition *animation = [CATransition animation]; 423 [animation setDuration:0.35f]; 424 [animation setFillMode:kCAFillModeForwards]; 425 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]]; 426 [animation setType:kCATransitionPush]; 427 [animation setSubtype:kCATransitionFromBottom]; 428 429 [view.layer addAnimation:animation forKey:nil]; 430 } 431 432 + (void)animationPushLeft:(UIView *)view 433 { 434 CATransition *animation = [CATransition animation]; 435 [animation setDuration:0.35f]; 436 [animation setFillMode:kCAFillModeForwards]; 437 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]]; 438 [animation setType:kCATransitionPush]; 439 [animation setSubtype:kCATransitionFromLeft]; 440 441 [view.layer addAnimation:animation forKey:nil]; 442 } 443 444 + (void)animationPushRight:(UIView *)view 445 { 446 CATransition *animation = [CATransition animation]; 447 [animation setDuration:0.35f]; 448 [animation setFillMode:kCAFillModeForwards]; 449 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]]; 450 [animation setType:kCATransitionPush]; 451 [animation setSubtype:kCATransitionFromRight]; 452 453 [view.layer addAnimation:animation forKey:nil]; 454 } 455 456 // presentModalViewController 457 + (void)animationMoveUp:(UIView *)view duration:(CFTimeInterval)duration 458 { 459 CATransition *animation = [CATransition animation]; 460 [animation setDuration:duration]; 461 [animation setFillMode:kCAFillModeForwards]; 462 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; 463 [animation setType:kCATransitionMoveIn]; 464 [animation setSubtype:kCATransitionFromTop]; 465 466 [view.layer addAnimation:animation forKey:nil]; 467 } 468 469 // dissModalViewController 470 + (void)animationMoveDown:(UIView *)view duration:(CFTimeInterval)duration 471 { 472 CATransition *transition = [CATransition animation]; 473 transition.duration =0.4; 474 transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; 475 transition.type = kCATransitionReveal; 476 transition.subtype = kCATransitionFromBottom; 477 [view.layer addAnimation:transition forKey:nil]; 478 } 479 480 + (void)animationMoveLeft:(UIView *)view 481 { 482 CATransition *animation = [CATransition animation]; 483 [animation setDuration:0.35f]; 484 [animation setFillMode:kCAFillModeForwards]; 485 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]]; 486 [animation setType:kCATransitionMoveIn]; 487 [animation setSubtype:kCATransitionFromLeft]; 488 489 [view.layer addAnimation:animation forKey:nil]; 490 } 491 492 + (void)animationMoveRight:(UIView *)view 493 { 494 CATransition *animation = [CATransition animation]; 495 [animation setDuration:0.35f]; 496 [animation setFillMode:kCAFillModeForwards]; 497 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]]; 498 [animation setType:kCATransitionMoveIn]; 499 [animation setSubtype:kCATransitionFromRight]; 500 501 [view.layer addAnimation:animation forKey:nil]; 502 } 503 504 +(void)animationRotateAndScaleEffects:(UIView *)view 505 { 506 [UIView animateWithDuration:0.35f animations:^ 507 { 508 /** 509 * @see http://donbe.blog.163.com/blog/static/138048021201061054243442/ 510 * 511 * @param transform 形變屬性(結構體),可以利用這個屬性去對view做一些翻轉或者縮放.詳解請猛戳↑URL. 512 * 513 * @method valueWithCATransform3D: 此方法需要一個CATransform3D的結構體.一些非詳細的講解可以看下面的URL 514 * 515 * @see http://blog.csdn.net/liubo0_0/article/details/7452166 516 * 517 */ 518 519 view.transform = CGAffineTransformMakeScale(0.001, 0.001); 520 521 CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform"]; 522 523 // 向右旋轉45°縮小到最小,然后再從小到大推出. 524 animation.toValue = [NSValue valueWithCATransform3D:CATransform3DMakeRotation(M_PI, 0.70, 0.40, 0.80)]; 525 526 /** 527 * 其他效果: 528 * 從底部向上收縮一半后彈出 529 * animation.toValue = [NSValue valueWithCATransform3D:CATransform3DMakeRotation(M_PI, 0.0, 1.0, 0.0)]; 530 * 531 * 從底部向上完全收縮后彈出 532 * animation.toValue = [NSValue valueWithCATransform3D:CATransform3DMakeRotation(M_PI, 1.0, 0.0, 0.0)]; 533 * 534 * 左旋轉45°縮小到最小,然后再從小到大推出. 535 * animation.toValue = [NSValue valueWithCATransform3D:CATransform3DMakeRotation(M_PI, 0.50, -0.50, 0.50)]; 536 * 537 * 旋轉180°縮小到最小,然后再從小到大推出. 538 * animation.toValue = [NSValue valueWithCATransform3D:CATransform3DMakeRotation(M_PI, 0.1, 0.2, 0.2)]; 539 */ 540 541 animation.duration = 0.45; 542 animation.repeatCount = 1; 543 [view.layer addAnimation:animation forKey:nil]; 544 545 } 546 completion:^(BOOL finished) 547 { 548 [UIView animateWithDuration:0.35f animations:^ 549 { 550 view.transform = CGAffineTransformMakeScale(1.0, 1.0); 551 }]; 552 }]; 553 } 554 555 /** CABasicAnimation 556 * 557 * @see https://developer.apple.com/library/mac/#documentation/cocoa/conceptual/CoreAnimation_guide/Articles/KVCAdditions.html 558 * 559 * @brief 便利構造函數 animationWithKeyPath: KeyPath需要一個字符串類型的參數,實際上是一個 560 * 鍵-值編碼協議的擴展,參數必須是CALayer的某一項屬性,你的代碼會對應的去改變該屬性的效果 561 * 具體可以填寫什么請參考上面的URL,切勿亂填! 562 * 例如這里填寫的是 @"transform.rotation.z" 意思就是圍繞z軸旋轉,旋轉的單位是弧度. 563 * 這個動畫的效果是把view旋轉到最小,再旋轉回來. 564 * 你也可以填寫@"opacity" 去修改透明度...以此類推.修改layer的屬性,可以用這個類. 565 * 566 * @param toValue 動畫結束的值.CABasicAnimation自己只有三個屬性(都很重要)(其他屬性是繼承來的),分別為: 567 * fromValue(開始值), toValue(結束值), byValue(偏移值), 568 ! 這三個屬性最多只能同時設置兩個; 569 * 他們之間的關系如下: 570 * 如果同時設置了fromValue和toValue,那么動畫就會從fromValue過渡到toValue; 571 * 如果同時設置了fromValue和byValue,那么動畫就會從fromValue過渡到fromValue + byValue; 572 * 如果同時設置了byValue 和toValue,那么動畫就會從toValue - byValue過渡到toValue; 573 * 574 * 如果只設置了fromValue,那么動畫就會從fromValue過渡到當前的value; 575 * 如果只設置了toValue ,那么動畫就會從當前的value過渡到toValue; 576 * 如果只設置了byValue ,那么動畫就會從從當前的value過渡到當前value + byValue. 577 * 578 * 可以這么理解,當你設置了三個中的一個或多個,系統就會根據以上規則使用插值算法計算出一個時間差并 579 * 同時開啟一個Timer.Timer的間隔也就是這個時間差,通過這個Timer去不停地刷新keyPath的值. 580 ! 而實際上,keyPath的值(layer的屬性)在動畫運行這一過程中,是沒有任何變化的,它只是調用了GPU去 581 * 完成這些顯示效果而已. 582 * 在這個動畫里,是設置了要旋轉到的弧度,根據以上規則,動畫將會從它當前的弧度專旋轉到我設置的弧度. 583 * 584 * @param duration 動畫持續時間 585 * 586 * @param timingFunction 動畫起點和終點之間的插值計算,也就是說它決定了動畫運行的節奏,是快還是慢,還是先快后慢... 587 */ 588 589 /** CAAnimationGroup 590 * 591 * @brief 顧名思義,這是一個動畫組,它允許多個動畫組合在一起并行顯示.比如這里設置了兩個動畫, 592 * 把他們加在動畫組里,一起顯示.例如你有幾個動畫,在動畫執行的過程中需要同時修改動畫的某些屬性, 593 * 這時候就可以使用CAAnimationGroup. 594 * 595 * @param duration 動畫持續時間,值得一提的是,如果添加到group里的子動畫不設置此屬性,group里的duration會統一 596 * 設置動畫(包括子動畫)的duration屬性;但是如果子動畫設置了duration屬性,那么group的duration屬性 597 * 的值不應該小于每個子動畫中duration屬性的值,否則會造成子動畫顯示不全就停止了動畫. 598 * 599 * @param autoreverses 動畫完成后自動重新開始,默認為NO. 600 * 601 * @param repeatCount 動畫重復次數,默認為0. 602 * 603 * @param animations 動畫組(數組類型),把需要同時運行的動畫加到這個數組里. 604 * 605 * @note addAnimation:forKey 這個方法的forKey參數是一個字符串,這個字符串可以隨意設置. 606 * 607 * @note 如果你需要在動畫group執行結束后保存動畫效果的話,設置 fillMode 屬性,并且把 608 * removedOnCompletion 設置為NO; 609 */ 610 611 + (void)animationRotateAndScaleDownUp:(UIView *)view 612 { 613 CABasicAnimation *rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"]; 614 rotationAnimation.toValue = [NSNumber numberWithFloat:(2 * M_PI) * 2]; 615 rotationAnimation.duration = 0.35f; 616 rotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; 617 618 CABasicAnimation *scaleAnimation = [CABasicAnimation animationWithKeyPath:@"transform.scale"]; 619 scaleAnimation.toValue = [NSNumber numberWithFloat:0.0]; 620 scaleAnimation.duration = 0.35f; 621 scaleAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; 622 623 CAAnimationGroup *animationGroup = [CAAnimationGroup animation]; 624 animationGroup.duration = 0.35f; 625 animationGroup.autoreverses = YES; 626 animationGroup.repeatCount = 1; 627 animationGroup.animations =[NSArray arrayWithObjects:rotationAnimation, scaleAnimation, nil]; 628 [view.layer addAnimation:animationGroup forKey:@"animationGroup"]; 629 } 630 631 632 633 #pragma mark - Private API 634 635 + (void)animationFlipFromTop:(UIView *)view 636 { 637 CATransition *animation = [CATransition animation]; 638 [animation setDuration:0.35f]; 639 [animation setFillMode:kCAFillModeForwards]; 640 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]]; 641 [animation setType:@"oglFlip"]; 642 [animation setSubtype:@"fromTop"]; 643 644 [view.layer addAnimation:animation forKey:nil]; 645 } 646 647 + (void)animationFlipFromBottom:(UIView *)view 648 { 649 CATransition *animation = [CATransition animation]; 650 [animation setDuration:0.35f]; 651 [animation setFillMode:kCAFillModeForwards]; 652 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]]; 653 [animation setType:@"oglFlip"]; 654 [animation setSubtype:@"fromBottom"]; 655 656 [view.layer addAnimation:animation forKey:nil]; 657 } 658 659 + (void)animationCubeFromLeft:(UIView *)view 660 { 661 CATransition *animation = [CATransition animation]; 662 [animation setDuration:0.35f]; 663 [animation setFillMode:kCAFillModeForwards]; 664 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]]; 665 [animation setType:@"cube"]; 666 [animation setSubtype:@"fromLeft"]; 667 668 [view.layer addAnimation:animation forKey:nil]; 669 } 670 671 + (void)animationCubeFromRight:(UIView *)view 672 { 673 CATransition *animation = [CATransition animation]; 674 [animation setDuration:0.35f]; 675 [animation setFillMode:kCAFillModeForwards]; 676 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]]; 677 [animation setType:@"cube"]; 678 [animation setSubtype:@"fromRight"]; 679 680 [view.layer addAnimation:animation forKey:nil]; 681 } 682 683 + (void)animationCubeFromTop:(UIView *)view 684 { 685 CATransition *animation = [CATransition animation]; 686 [animation setDuration:0.35f]; 687 [animation setFillMode:kCAFillModeForwards]; 688 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]]; 689 [animation setType:@"cube"]; 690 [animation setSubtype:@"fromTop"]; 691 692 [view.layer addAnimation:animation forKey:nil]; 693 } 694 695 + (void)animationCubeFromBottom:(UIView *)view 696 { 697 CATransition *animation = [CATransition animation]; 698 [animation setDuration:0.35f]; 699 [animation setFillMode:kCAFillModeForwards]; 700 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]]; 701 [animation setType:@"cube"]; 702 [animation setSubtype:@"fromBottom"]; 703 704 [view.layer addAnimation:animation forKey:nil]; 705 } 706 707 + (void)animationSuckEffect:(UIView *)view 708 { 709 CATransition *animation = [CATransition animation]; 710 [animation setDuration:0.35f]; 711 [animation setFillMode:kCAFillModeForwards]; 712 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]]; 713 [animation setType:@"suckEffect"]; 714 715 [view.layer addAnimation:animation forKey:nil]; 716 } 717 718 + (void)animationRippleEffect:(UIView *)view 719 { 720 CATransition *animation = [CATransition animation]; 721 [animation setDuration:0.35f]; 722 [animation setFillMode:kCAFillModeForwards]; 723 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]]; 724 [animation setType:@"rippleEffect"]; 725 726 [view.layer addAnimation:animation forKey:nil]; 727 } 728 729 + (void)animationCameraOpen:(UIView *)view 730 { 731 CATransition *animation = [CATransition animation]; 732 [animation setDuration:0.35f]; 733 [animation setFillMode:kCAFillModeForwards]; 734 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]]; 735 [animation setType:@"cameraIrisHollowOpen"]; 736 [animation setSubtype:@"fromRight"]; 737 738 [view.layer addAnimation:animation forKey:nil]; 739 } 740 741 + (void)animationCameraClose:(UIView *)view 742 { 743 CATransition *animation = [CATransition animation]; 744 [animation setDuration:0.35f]; 745 [animation setFillMode:kCAFillModeForwards]; 746 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]]; 747 [animation setType:@"cameraIrisHollowClose"]; 748 [animation setSubtype:@"fromRight"]; 749 750 [view.layer addAnimation:animation forKey:nil]; 751 } 752 @end

?

轉載于:https://www.cnblogs.com/pretty-guy/articles/4013839.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的iOS常用动画的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

成人综合免费 | 豆豆色资源网xfplay | 中国一级特黄毛片大片久久 | 国产精品久久久久久久久久久不卡 | 日韩网站中文字幕 | 天天色综合1 | 欧美成人精品在线 | 丁香av | 国产在线观看你懂得 | 久久国产精品区 | 成人在线一区二区三区 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 91av在线视频免费观看 | 亚洲精品无 | 国产黄色免费看 | www.五月婷| 91理论片午午伦夜理片久久 | 国产色视频| 4p变态网欧美系列 | 一本一道久久a久久精品 | 日韩毛片在线播放 | 美女网站在线播放 | 在线精品视频免费观看 | 欧美久草视频 | 黄色av电影网 | 国产精品久久久久久欧美 | 中文字幕91视频 | 在线免费观看av网站 | 丝袜少妇在线 | 黄色av免费 | 色www精品视频在线观看 | 99精品在线播放 | 在线超碰av | 最新高清无码专区 | 国产网站在线免费观看 | 97精品国产97久久久久久春色 | 在线免费观看国产精品 | 91污视频在线观看 | 国内精品一区二区 | 日日夜夜国产 | 国产婷婷久久 | 国产一区福利在线 | 亚洲午夜av电影 | 亚洲h在线播放在线观看h | 五月天久久精品 | 婷婷丁香花五月天 | 欧美另类重口 | 成人黄色在线 | 亚洲国产69 | 日本最新中文字幕 | 中文字幕欧美日韩va免费视频 | 国产va精品免费观看 | 黄色的视频 | 啪啪免费观看网站 | 免费在线观看成人av | 97在线看| 国产 日韩 欧美 中文 在线播放 | 日韩欧美在线免费 | 天天综合视频在线观看 | 免费日韩在线 | 黄色在线免费观看网址 | 在线一区电影 | 黄污在线观看 | 久久久免费观看 | 曰本三级在线 | 欧美一区二视频在线免费观看 | 91av在线电影 | 日韩,精品电影 | 丁香五月亚洲综合在线 | 中文字幕字幕中文 | 91在线免费观看网站 | www久久国产 | 国产精品一区免费观看 | 欧美久久久久久久久久久久 | 亚洲在线激情 | 黄污视频网站 | 亚洲美女精品区人人人人 | av免费观看网址 | 99久久国产免费,99久久国产免费大片 | 麻豆综合网 | 国产精品一区二区久久 | 国产精品一区二区在线 | 日本黄色免费大片 | 精品久久国产一区 | 天天操天天舔天天爽 | 久草免费在线视频观看 | 91女神的呻吟细腰翘臀美女 | 国产精品18久久久久久不卡孕妇 | 国产精品成人免费一区久久羞羞 | 国产精品久久免费看 | av官网| 日韩在线观看视频网站 | 91网在线看 | 国产黄色精品在线观看 | 日韩中文字幕一区 | 亚洲成av人影片在线观看 | 中文字幕色综合网 | 国产电影黄色av | 91桃色免费视频 | 91精品在线免费视频 | 久久视频免费在线观看 | 免费看国产精品 | 久久久福利 | 久草在 | 久久久久亚洲精品成人网小说 | 91精选| 最近中文字幕mv免费高清在线 | 久久久免费观看完整版 | 黄色日批网站 | 激情喷水 | 成人永久免费 | 欧美a级成人淫片免费看 | 免费色网 | 久久久在线视频 | 亚洲免费不卡 | 国产老妇av| 国产精品免费在线播放 | 日韩一区二区三区免费视频 | 天天搞夜夜骑 | 色人久久 | 91久久精 | 久久国产精品99久久久久久丝袜 | 亚洲日本韩国一区二区 | 综合婷婷丁香 | 91麻豆精品国产91久久久久久久久 | 国产在线综合视频 | 久久人91精品久久久久久不卡 | 久久久久久久久福利 | 97小视频| 成人av电影免费 | 中文字幕日韩精品有码视频 | 色网av| 国产伦精品一区二区三区无广告 | 国产视频精品久久 | 狠狠亚洲| 中文十次啦 | 91人人爽久久涩噜噜噜 | 久久久免费看片 | 久久精品久久精品久久39 | 韩国av免费在线 | 在线a亚洲视频播放在线观看 | 久久嗨| 久久99久久99精品免观看软件 | 91丨九色丨国产女 | 国产手机在线观看视频 | 亚州天堂 | 国产精品美女久久久网av | 精品国产一区在线观看 | 日本精品久久 | 在线视频一区二区 | 性色va | 天天色天 | 免费亚洲精品视频 | 婷婷免费在线视频 | 亚洲狠狠婷婷综合久久久 | 日韩精品久久久久久 | 天天干夜夜爱 | 五月婷婷在线综合 | 在线精品亚洲一区二区 | 国产伦理久久精品久久久久_ | aⅴ精品av导航 | 国产涩涩网站 | 久久久久久国产精品亚洲78 | 日韩欧美高清一区二区三区 | 日韩高清不卡一区二区三区 | 国产一区二区不卡视频 | 精品福利在线视频 | 日韩精品无 | 免费日韩电影 | 美女网站黄免费 | 免费黄色网止 | 国产 欧美 日产久久 | 中文字幕在线人 | 成人毛片a| 九九视频精品免费 | 在线天堂亚洲 | 午夜精品三区 | 亚洲综合在线五月天 | 91在线日韩 | 久久久久福利视频 | 欧美性色综合网站 | 国产美女网站在线观看 | 国产黄色片一级三级 | 五月天婷亚洲天综合网精品偷 | 在线观看黄色的网站 | 欧美精品在线一区 | 激情综合五月 | 日韩免费在线视频观看 | 99超碰在线观看 | 国产一级片不卡 | 久久久午夜视频 | 一区二区三区免费在线播放 | 国产精品黄网站在线观看 | 亚洲精品国产区 | 亚洲欧美日本国产 | 日日干狠狠操 | 国产精品免费小视频 | 在线观看中文字幕av | 国产69久久久欧美一级 | 在线观看中文字幕一区二区 | 黄色国产大片 | 毛片激情永久免费 | 色999视频 | 青春草免费在线视频 | 欧美激情精品久久久久久免费 | 一区二区三区电影大全 | 久久视频二区 | 九九九九热精品免费视频点播观看 | 天天天色综合a | 黄色资源在线观看 | 国产黄色免费在线观看 | 精品福利在线观看 | aaa亚洲精品一二三区 | 丁香在线观看完整电影视频 | 九九免费在线观看视频 | 超碰97人人干| 久草免费电影 | 91在线看免费| 国产 日韩 欧美 中文 在线播放 | 99精品在线视频观看 | 国产乱码精品一区二区蜜臀 | 国产录像在线观看 | 欧美极品一区二区三区 | 婷婷日日 | 中文字幕一区二区在线观看 | 欧美成人视| 亚洲国产中文字幕在线观看 | 久久国产精品久久久久 | 五月天婷亚洲天综合网精品偷 | www.com黄| 69xxxx欧美| 国产在线免费观看 | 操高跟美女 | 99精品福利 | 91福利视频一区 | 特黄特色特刺激视频免费播放 | 亚洲精品综合一区二区 | 久久精品影片 | 91黄色视屏 | 亚洲91中文字幕无线码三区 | 91传媒在线 | 国产精品午夜免费福利视频 | 正在播放日韩 | 中文字幕专区高清在线观看 | 日韩欧美精品一区二区三区经典 | 激情亚洲综合在线 | 欧美日韩亚洲在线观看 | 黄色三级av| 国产片免费在线观看视频 | 国产又黄又爽又猛视频日本 | 欧美精品久久久久久久久久久 | 天天爱天天草 | 五月天中文在线 | 看av免费 | 欧美精品久久久久a | 日韩高清精品一区二区 | 久草精品免费 | 久久综合色天天久久综合图片 | 夜夜躁日日躁狠狠躁 | 国产99久久九九精品 | 国产一区播放 | 亚洲精品国产麻豆 | 在线色亚洲| 国产精品videossex国产高清 | 一级一片免费视频 | 夜夜操天天 | 黄色片视频在线观看 | 在线看不卡av | 久久久久亚洲精品中文字幕 | 91毛片在线 | 色噜噜噜| 五月婷婷激情综合 | 日韩在线观看三区 | 欧美福利精品 | 婷婷激情在线 | www.com.黄| 在线观看一区二区精品 | 天天操天天干天天操天天干 | 免费观看性生交 | 91久久偷偷做嫩草影院 | 91成人免费看片 | 欧美成人aa| 在线看一区 | 久久精品免费 | 在线看成人 | 久久精品3 | 欧美日韩在线观看一区 | 99精品国产在热久久下载 | 在线观看亚洲精品 | 在线播放精品一区二区三区 | 人人干人人超 | 婷婷色在线播放 | 色av男人的天堂免费在线 | 久久99国产精品久久99 | 日日干日日色 | 国产一级做a爱片久久毛片a | 亚洲影视资源 | 激情久久伊人 | 在线看一级片 | 色先锋资源网 | 蜜桃视频成人在线观看 | 久久久999精品视频 国产美女免费观看 | 精品96久久久久久中文字幕无 | 欧美一级片在线观看视频 | av看片在线观看 | 色综合天天做天天爱 | 国产高清中文字幕 | 亚洲中字幕 | 日韩专区在线观看 | 色综合久久五月 | 国产伦精品一区二区三区四区视频 | 国产日韩欧美在线播放 | 国产一级特黄毛片在线毛片 | 成人av电影免费 | 亚洲免费av在线播放 | 中文字幕中文字幕在线一区 | 狠狠色免费| 久久久久免费精品国产 | 色先锋资源网 | 欧美日韩精品在线观看 | 伊人久久电影网 | 性色av免费在线观看 | av一级免费 | 精品 一区 在线 | 伊人看片 | 成人av电影免费观看 | 99久在线精品99re8热视频 | 91在线九色| av色网站| 久久久久久久久黄色 | 天堂av在线网 | 又黄又刺激的视频 | 不卡的一区二区三区 | 国产高清av在线播放 | 96av在线视频| 永久免费毛片在线观看 | 日韩中文字幕免费在线观看 | 免费看的黄色小视频 | 欧美日韩中文在线视频 | 精品国产免费av | 久久久久久久久国产 | 人人干97 | av高清免费在线 | 午夜精品999 | 久久精品人 | 国产一线天在线观看 | 久久精品国产免费看久久精品 | 91网免费观看 | 成人在线免费视频观看 | 免费h精品视频在线播放 | 在线免费高清一区二区三区 | 人人爽人人爽人人片av | 伊人狠狠操 | 在线观看午夜 | 久久99精品国产99久久 | 四虎影视成人永久免费观看视频 | 天天干天天干 | 91九色国产在线 | 日本69hd| 国产精品毛片完整版 | 美女视频久久久 | 免费黄色av片| 日韩欧美视频免费看 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 黄色片网站 | 亚洲视频网站在线观看 | 中文字幕成人av | 精品视频在线看 | 日韩av在线免费看 | 黄色软件视频大全免费下载 | 色停停五月天 | 成人免费视频免费观看 | 在线成人高清电影 | 国产美女被啪进深处喷白浆视频 | 国产剧情久久 | 色瓜| 免费观看mv大片高清 | 久久精品国产成人 | 欧美日韩性生活 | 久久天天躁夜夜躁狠狠85麻豆 | 国产婷婷vvvv激情久 | 97国产精品免费 | 国产精品自在线 | 成年人电影毛片 | 午夜色影院 | 日韩理论在线播放 | 狠狠躁天天躁 | 成人av片在线观看 | 欧美精品中文在线免费观看 | 天天操天天操一操 | 欧美亚洲国产精品久久高清浪潮 | 欧美一级日韩免费不卡 | 亚洲成人在线免费 | 日韩成人黄色av | 亚洲片在线资源 | 久久久亚洲国产精品麻豆综合天堂 | 午夜少妇一区二区三区 | 在线播放亚洲激情 | 在线免费观看国产视频 | 亚洲精品成人在线 | 国产免费观看视频 | 欧美日韩中字 | 99综合电影在线视频 | 国产亚洲精品久久久久久无几年桃 | 国产系列在线观看 | 久久久久久久久黄色 | 最近日韩中文字幕中文 | 激情 一区二区 | 全黄网站 | 成人免费视频视频在线观看 免费 | 一区二区av | 亚洲精品美女久久久久网站 | 色五丁香 | av午夜电影 | 亚洲成a人片在线观看网站口工 | 成人在线免费视频 | 81国产精品久久久久久久久久 | www麻豆视频 | 中文字幕在线观看你懂的 | 色就色,综合激情 | 国产成人一区二区在线观看 | 日韩在线短视频 | 欧美日韩免费观看一区=区三区 | 日韩经典一区二区三区 | 国产精品网在线观看 | 精品国产伦一区二区三区观看方式 | 亚洲成人免费观看 | 免费在线成人av电影 | 不卡的av电影 | 婷婷在线精品视频 | 粉嫩av一区二区三区四区 | 国产一性一爱一乱一交 | 婷婷色综合色 | 久久精品91久久久久久再现 | 丁香久久综合 | 免费99精品国产自在在线 | www.色的| 久久综合婷婷综合 | 超碰在线91 | 日韩一区二区三区高清在线观看 | 国产一二三精品 | 国产精品亚| 国产成人在线免费观看 | 国产99免费 | 日韩一区在线播放 | 在线免费观看黄色 | 亚洲精品h| 97小视频| 久久精品99久久久久久2456 | 国产在线观看免费av | 中文字幕亚洲欧美日韩 | 日本中文字幕影院 | 亚洲做受高潮欧美裸体 | 国产99免费视频 | 国产aa精品 | 亚洲无吗视频在线 | 国产精品都在这里 | 久久免费视频一区 | 成人av免费播放 | 91久久久久久久一区二区 | 激情网色 | 成人一区不卡 | 在线黄色国产电影 | 国产成人一区二区三区电影 | 99久久超碰中文字幕伊人 | 福利一区在线视频 | 欧美一二三专区 | 国产手机免费视频 | 免费成人结看片 | 99国产精品一区二区 | 久久久久久久福利 | 国产高清视频在线播放一区 | av在线网站观看 | 日韩免费b | 69国产盗摄一区二区三区五区 | 日韩精品免费 | 国产啊v在线观看 | 国产一二三区在线观看 | 国产精品久久久久久久久婷婷 | 国产精品毛片网 | 日韩av片免费在线观看 | 麻豆首页 | 久久99精品久久只有精品 | 永久免费精品视频 | 国产91免费在线观看 | 日本高清免费中文字幕 | 丁香视频在线观看 | 人人射网站 | 国产专区精品视频 | 欧美成天堂网地址 | 日日干天夜夜 | 精品亚洲一区二区 | 欧美资源在线观看 | 十八岁免进欧美 | 97在线视频免费看 | 亚洲精品美女视频 | 99免费看片| 91精品一区二区在线观看 | caobi视频| 九九九在线 | 色婷婷久久一区二区 | 亚洲国产精彩中文乱码av | 精品国产久 | 97视频免费在线看 | 99久久日韩精品视频免费在线观看 | 91九色在线 | 欧美精品在线观看免费 | 人人澡人人添人人爽一区二区 | 深爱综合网 | 久草网站 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 日本精品久久久一区二区三区 | 亚洲精品国精品久久99热 | 中文字幕av在线免费 | 天堂在线免费视频 | 深爱五月激情网 | 欧美成人中文字幕 | 成人午夜电影网站 | www.色综合.com| 国产精品久久久久久久7电影 | 91精品在线观看入口 | 国产不卡精品视频 | 日韩精品资源 | 中文字幕色综合网 | av中文字幕第一页 | 美女免费网站 | 中文字幕第一页在线视频 | 在线观看黄色国产 | 97久久精品午夜一区二区 | 五月激情六月丁香 | 国产高清中文字幕 | 国产免费成人av | 免费观看视频的网站 | 中文字幕av在线 | 天天色官网| 精品视频9999 | 日韩av网站在线播放 | www.黄色片网站 | 亚洲作爱| 干干干操操操 | 最新日韩精品 | 超碰人人干人人 | 三级a毛片 | av电影免费在线看 | 四虎在线视频 | 国产成人一区二区三区在线观看 | 黄色免费在线看 | 国产精品嫩草在线 | 高清视频一区二区三区 | 久久色视频 | 亚洲人精品午夜 | 国产精品久久久久久久免费观看 | 精品在线播放视频 | 日本午夜免费福利视频 | 久久视频在线观看 | 天天天天天天天天操 | 黄色午夜 | 456成人精品影院 | 亚洲va欧美va人人爽 | 国产亚洲高清视频 | 久久精美视频 | 人人澡人人干 | 国产精品久久久久久久久费观看 | 国产视频精品在线 | 手机av永久免费 | 国产一二区免费视频 | 色播五月激情综合网 | 精品在线一区二区三区 | 亚洲综合成人av | av韩国在线| 婷婷电影网 | 婷婷六月天综合 | 九九视频这里只有精品 | 亚洲mv大片欧洲mv大片免费 | 九九热久久久 | 伊人天天综合 | 久久久久久不卡 | 国产精选视频 | 日韩免费在线观看 | 日本中文乱码卡一卡二新区 | 日韩v在线91成人自拍 | 亚洲 欧美 精品 | 久草在线资源观看 | 国产日韩欧美中文 | 在线黄网站| 97人人添人澡人人爽超碰动图 | 天堂入口网站 | 亚洲片在线资源 | 亚洲国产免费av | 国产精品密入口果冻 | 精品久久久久久久久亚洲 | 特级xxxxx欧美 | 亚洲国产精品一区二区久久,亚洲午夜 | 国产亚洲精品久久久久久网站 | 国产成人精品一区二 | 婷婷激情综合 | 国产视频手机在线 | 中文av一区二区 | 黄色视屏av | 亚洲无线视频 | 天天综合日日夜夜 | 久久久久99精品成人片三人毛片 | 一区二区精品视频 | 青青草在久久免费久久免费 | 免费av看片 | 在线播放 日韩专区 | 香蕉影院在线 | 国产精品久久久久久久久久久不卡 | 亚洲爱av | 国产日韩欧美在线观看视频 | 国产高清视频在线观看 | 欧美天天综合网 | 黄色av播放 | 色94色欧美 | 97精品电影院 | 日日夜夜91 | 日本中文一级片 | 91av片 | 99热在线网站 | 欧美一级免费 | 久久亚洲区 | 黄在线免费看 | 日韩电影中文 | 久久久久97国产 | 99精品视频在线观看免费 | www.五月婷婷.com | 国产精品99久久久精品 | 综合天堂av久久久久久久 | 欧美一级免费片 | 久久人人爽人人爽人人片av免费 | av丝袜在线 | 国产精品久久久久久久久岛 | 狠狠做深爱婷婷综合一区 | 人人插人人插 | 久草精品视频在线播放 | 日本在线观看一区 | www.av在线.com | 天天色天天综合 | 91免费试看 | 国产一级免费观看视频 | 欧美激情精品久久久久久免费 | 中文av日韩| 久久9999久久免费精品国产 | 日韩亚洲在线观看 | 激情在线网站 | 亚洲一区二区三区毛片 | 人人舔人人舔 | 久久黄网站 | 国产精品久久久av | 亚洲国产成人高清精品 | 国产黄视频在线观看 | 国产精品3 | 亚洲黄色三级 | 精品一区 在线 | 国产在线观看你懂得 | 成年人在线免费视频观看 | 夜夜干夜夜 | 伊人久久五月天 | 麻豆果冻剧传媒在线播放 | 91中文在线| 麻豆91精品视频 | 夜夜夜夜夜夜操 | 国产白浆在线观看 | 日日躁夜夜躁xxxxaaaa | 国产精品国产亚洲精品看不卡 | 99久久精品电影 | 中文字幕久久精品一区 | 国产精品美女久久久久久久久久久 | 久艹视频在线观看 | 少妇激情久久 | 日韩毛片在线一区二区毛片 | 激情伊人五月天久久综合 | 国产精品久久久久久999 | 免费看v片| 久久久久国产免费免费 | 最近能播放的中文字幕 | 久久精品这里热有精品 | 国产 亚洲 欧美 在线 | 久av电影 | 欧美一区日韩精品 | 91网在线看 | 在线视频观看你懂的 | 成人黄色在线视频 | 视频二区 | 99c视频高清免费观看 | 中文视频一区二区 | 日韩精品中文字幕在线播放 | 欧美一级日韩三级 | 亚洲 欧洲av | 99久久精品久久久久久清纯 | 亚洲天天看 | 国产在线v | 91精品对白一区国产伦 | 亚洲欧美va | 久久久免费播放 | 国产生活一级片 | 五月天久久久久久 | 成年人免费在线观看网站 | 成年人app网址 | 久久av伊人 | 手机看片99 | 日韩黄色免费在线观看 | 四虎影视成人精品 | 久久久精品久久日韩一区综合 | 综合激情 | 91色在线观看视频 | 能在线看的av | 欧美一级免费片 | av在观看 | 国产在线色站 | 国产精品普通话 | 射综合网| 天天干.com| 亚洲精品中文在线观看 | 久久香蕉电影网 | 久久另类小说 | 日日夜夜免费精品视频 | 91久久国产综合精品女同国语 | 国产日韩视频在线观看 | 综合网在线视频 | 激情伊人五月天 | 444av| 色视频网站在线 | 亚洲精品乱码久久久久久蜜桃欧美 | 国产高清在线免费视频 | 在线a视频免费观看 | 波多野结衣精品在线 | 欧美精品久久人人躁人人爽 | 亚洲综合成人专区片 | 亚洲高清国产视频 | 国产高清av免费在线观看 | www免费在线观看 | 亚洲午夜精品久久久 | 91黄色视屏 | 久久免费精品国产 | 日韩高清观看 | 黄色aaaaa | 欧美精品视 | 欧美成年人在线视频 | 999热线在线观看 | 欧洲色综合 | 中文字幕日韩伦理 | 狠狠久久伊人 | 国产精品色在线 | 日韩欧美视频在线播放 | 久久久久久久久久福利 | 欧美日韩中文视频 | 国产91勾搭技师精品 | 国产在线久草 | 一区二区 久久 | 91九色网站 | av在线电影免费观看 | 久久一区精品 | 免费无遮挡动漫网站 | 亚洲一级二级 | 夜夜视频 | 国产视频在线免费观看 | 久久久影视 | 在线电影91| 黄色三级久久 | 国产精品视频永久免费播放 | 亚洲,播放 | 午夜婷婷网 | 国产系列精品av | 色婷婷婷 | 国内视频在线 | 手机在线欧美 | 不卡国产在线 | 国产精品av久久久久久无 | 亚洲高清视频在线观看 | 播五月婷婷 | 欧美日韩中文字幕视频 | 黄色毛片视频免费观看中文 | 亚州av网站 | 在线午夜| 欧美日韩国产一二 | 精品女同一区二区三区在线观看 | 午夜视频导航 | 久久尤物电影视频在线观看 | 69av免费视频 | 999久久国精品免费观看网站 | 婷婷色综合色 | 国产福利电影网址 | 中文字幕 国产专区 | 伊人精品在线 | 成人午夜电影在线观看 | 天天干天天插 | 中文字幕av在线不卡 | 亚洲资源在线 | 91视频91色 | 欧美午夜精品久久久久久浪潮 | 国产偷国产偷亚洲清高 | 免费av网址大全 | 亚洲国产精品第一区二区 | 久久免费播放视频 | 亚洲日本一区二区在线 | 日本三级在线观看中文字 | www黄在线 | 中文字幕av最新更新 | 8x成人免费视频 | 日韩影片在线观看 | 国产高清视频在线播放 | 狠狠狠狠狠狠 | 欧美性生活免费看 | 亚洲无吗视频在线 | 一区二区三区在线观看中文字幕 | 欧美久久久久久久 | 中文字幕欧美三区 | 色综久久 | 国产啊v在线| 毛片黄色一级 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 丝袜足交在线 | 久久在线免费观看 | 97电影在线看视频 | 日韩电影中文字幕 | 亚洲精品动漫在线 | 精品国产精品国产偷麻豆 | 日韩视频免费 | 91精品国自产在线观看欧美 | 日韩欧美高清在线观看 | 国产永久免费高清在线观看视频 | 中文字幕 欧美性 | 99色| 美女网站在线免费观看 | 国产中文字幕av | www.综合网.com| 国产偷v国产偷∨精品视频 在线草 | 亚洲视频国产 | av在线精品 | 欧美日韩精品免费观看视频 | 国产精品久久久久久久久久不蜜月 | 在线视频 区 | 91久久精品一区 | 成人国产精品一区二区 | 麻豆视频免费在线观看 | 日韩久久精品一区二区三区下载 | 激情视频综合网 | 中文字幕亚洲欧美日韩2019 | 97色免费视频 | 日韩一级片大全 | 亚洲免费成人 | 亚洲精品动漫成人3d无尽在线 | 96精品在线 | 国产精品一区在线播放 | 亚洲视频精品在线 | 91久久国产自产拍夜夜嗨 | 超级碰碰免费视频 | 91观看视频| 日本韩国精品一区二区在线观看 | 天天干天天操人体 | 美女福利视频在线 | 伊人国产女 | 成人一区二区在线观看 | 天天性天天草 | 久久成人国产精品免费软件 | 婷婷六月综合亚洲 | 国产精品欧美久久久久天天影视 | 亚洲免费高清视频 | 00av视频| 婷婷丁香色综合狠狠色 | 国产精品久久久久久久久久ktv | 欧美精品久久人人躁人人爽 | 亚洲伊人第一页 | 久久久这里有精品 | 毛片在线播放网址 | 久久99国产精品二区护士 | 国产小视频国产精品 | 亚洲精品国偷拍自产在线观看蜜桃 | 99精品视频免费观看视频 | 91九色国产视频 | 97视频资源 | 国产精品自产拍在线观看中文 | 国产91在线观看 | 毛片随便看| av在线播放不卡 | 欧美天天射 | 国产成人av网站 | 美女视频黄是免费的 | 欧美日韩在线精品 | av在线播放一区二区三区 | 97成人在线视频 | 国产麻豆电影 | 日韩视频中文字幕在线观看 | 天天要夜夜操 | 欧美成人在线免费 | 在线看成人 | 国产特级毛片aaaaaa毛片 | 免费色视频在线 | 国产特级毛片aaaaaa | 黄色av成人在线 | 91精品爽啪蜜夜国产在线播放 | 久久综合狠狠狠色97 | 国产亚洲午夜高清国产拍精品 | 色婷婷综合久久久 | 美女视频黄的免费的 | 色先锋av资源中文字幕 | 国产精品久久久久久久久久了 | 色欧美综合 | 狠狠色丁香婷婷综合久久片 | 久久久久久久久久久久久久av | 国产中文字幕av | 久久成人精品视频 | 成年人黄色免费看 | 亚洲一区二区三区精品在线观看 | 在线观看免费高清视频大全追剧 | 成人久久免费 | 婷婷精品视频 | 久艹视频在线免费观看 | 天天操天天添天天吹 | 不卡的av片 | 日韩av资源站 | 在线观看黄色av | 91精品啪在线观看国产线免费 | 精品99免费 | 国产美女搞久久 | 久久免费公开视频 | 波多野结衣久久资源 | 97天堂| 国产不卡在线观看 | 国产在线精品视频 | 精品美女在线视频 | 97精品国产97久久久久久春色 | 99久久一区 | 黄色大全视频 | 四虎最新入口 | 中字幕视频在线永久在线观看免费 | 成人国产精品 | 国产69精品久久99不卡的观看体验 | 国产视频精品在线 | 国产亚洲激情视频在线 | 在线观看中文字幕2021 | 视频在线观看入口黄最新永久免费国产 | 欧美日韩亚洲在线 | 亚洲 欧美 综合 在线 精品 | 狠狠狠狠狠狠天天爱 | 日韩一区正在播放 | 国产1区2 | 成人一级电影在线观看 | 人人干人人做 | 免费能看的av | 九色91在线| 国产精品高清在线观看 | 欧洲一区二区在线观看 | 伊人网站 | 国产特级毛片aaaaaaa高清 | 97av色| 97视频人人澡人人爽 | 亚洲va天堂va欧美ⅴa在线 | 91成熟丰满女人少妇 | 麻豆精品在线视频 | 欧美一区二区三区激情视频 | 亚洲精品福利在线 | 91成人免费 | 日本性xxxxx 亚洲精品午夜久久久 | 麻豆传媒视频在线播放 | av中文电影 | 青草草在线视频 | 国产成人在线观看 | 欧美激情综合网 | 91视频啪| 久久视频中文字幕 | 毛片久久久| 人人爽人人爽人人 | 精品久久久国产 | 九九九九热精品免费视频点播观看 | 91在线入口 | 中文字幕视频免费观看 | 最近日本字幕mv免费观看在线 | av成人资源 | 色网站国产精品 | 中文字幕国语官网在线视频 | 亚洲成人高清在线 | 亚洲专区欧美专区 | 精品国产伦一区二区三区 | 美女av免费 | 国产精品成久久久久 | 草在线视频 | 九色琪琪久久综合网天天 | 日韩高清免费在线 | 欧美在线视频a | 天天草天天干天天射 | 婷婷av网站 | 在线观看精品一区 | 精壮的侍卫呻吟h | 久久乐九色婷婷综合色狠狠182 | 色婷婷亚洲 | 午夜成人免费影院 | 日韩在线视频线视频免费网站 | 在线观看成人av | 高清av影院 | 日日干综合 | 久久免费激情视频 | 日韩精品免费在线 | 国产一区二区在线观看视频 | 日本中文字幕一二区观 | 天天干天天玩天天操 | 亚洲男人天堂2018 |