iOS專案開發實戰——使用CALayer實現圖片的淡入淡出效果
在移動應用開發中,如果兩張圖片之間直接進行切換,會顯得突兀,使用者體驗不佳。如果中間能有淡入淡出效果,就會很不錯。我們就用CALayer來實現一下:
(1)拖入2張圖片,然後程式碼實現如下:
#import "ViewController.h"
@interface ViewController ()
@property(nonatomic,strong) CALayer *imageLayer;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
UIImage *image1 = [UIImage imageNamed:@"img1"];
//建立出圖片layer;
self.imageLayer = [CALayer layer];
self.imageLayer.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height);
[self.view.layer addSublayer:self.imageLayer];
self.imageLayer.contents = (__bridge id)(image1.CGImage);
[self performSelector:@selector(layerAnimation) withObject:nil afterDelay:3.0f];
}
- (void) layerAnimation{
UIImage *image2 = [UIImage imageNamed:@"img2"];
//圖片動畫;
CABasicAnimation *contentsAnimation = [CABasicAnimation animationWithKeyPath:@"contents"];
contentsAnimation.fromValue = self.imageLayer.contents;
contentsAnimation.toValue = (__bridge id)(image2.CGImage);
contentsAnimation.duration = 2;
//設定layer動畫結束之後的值,(必須設定,否則會恢復到動畫之前的狀態)
self.imageLayer.contents = (__bridge id)(image2.CGImage);
//提交動畫;
[self.imageLayer addAnimation:contentsAnimation forKey:nil];
}
@end
(2)實現效果如下:
。
。
。
(3)這樣的圖片切換很舒服,淡入淡出時間可以自己設定。
github主頁:https://github.com/chenyufeng1991 。歡迎大家訪問!
相關文章
- 實現元素的淡入淡出效果
- jQuery 實現淡入淡出效果jQuery
- GO專案實戰—開發上傳圖片功能 【20220527更新】Go
- 如何實現 iOS 16 帶來的 Depth Effect 圖片效果iOS
- 使用CSS的clip-path實現圖片剪下效果CSS
- HarmonyOS NEXT應用開發之圖片縮放效果實現
- 直播app開發搭建,純javascript實現圖片放大鏡效果APPJavaScript
- flask 專案開發實戰Flask
- 實現圖片染色效果的三種方式
- FileReader初步使用實現上傳圖片預覽效果
- JS實現馬賽克圖片效果JS
- 鴻蒙專案實戰(六):識別本地圖片鴻蒙地圖
- iOS開發UI篇--使用UICollectionView實現一個傾斜列表效果iOSUIView
- flask專案1實戰:2.2 flask框架下使用圖片驗證碼Flask框架
- 專案實戰介面開發SpringBootSpring Boot
- 一本實踐的專案開發《Python專案開發實戰(第2版)》Python
- WEB實戰:使用MERN技術棧開發專案Web
- iOS – RxSwift 專案實戰記錄iOSSwift
- Flutter上線專案實戰——圖片視訊預覽Flutter
- 滑鼠懸浮圖片實現翻轉效果
- 滑鼠懸浮圖片實現縮放效果
- iOS 中使用 FlexBox 佈局實現圖片九宮格iOSFlex
- 淺談設計模式在iOS開發實戰專案中的應用設計模式iOS
- iOS開發UI篇--使用UICollectionView實現一個列表頭部拉伸效果的案例iOSUIView
- 【Android開發VR實戰】一.給使用者呈現一個360°全景圖片AndroidVR
- 小程式雲開發專案實戰
- django專案開發實戰——部落格Django
- 最新Python開發專案實戰(完整)Python
- Android 載入網路圖片 以及實現圓角圖片效果Android
- iOS實現點選圖片放大&長按儲存圖片iOS
- 小冊上新:Taro 多端開發實現原理與專案實戰
- 專案實戰之gradle在實際專案中的使用Gradle
- iOS 使用 SceneKit 實現全景圖iOS
- iOS開發-圖片UIImageiOSUI
- 專案實戰之Rxjava、RxBinding在實際專案中的使用RxJava
- 直播app開發,首頁輪播圖效果實現APP
- Android專案實戰(五十七):Glide 高斯模糊效果AndroidIDE
- Web專案開發介紹及實戰專案介紹Web
- 實戰|如何使用雲開發實現照片附件上傳開發