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 。歡迎大家訪問!
相關文章
- iOS專案開發實戰——使用CALayer和定時器實現進度條iOS定時器
- iOS開發專案實戰——Swift實現圖片輪播與瀏覽iOSSwift
- iOS專案開發實戰——UIImageView的使用與圖片顯示模式iOSUIView模式
- iOS專案開發實戰——使用CoreLocation實現定位iOS
- iOS專案開發實戰——使用SDWebImage庫進行圖片請求iOSWeb
- iOS專案開發實戰——使用UICollectionView實現瀑布流iOSUIView
- iOS專案開發實戰——檢視動畫效果iOS動畫
- iOS專案開發實戰——使用定時器實現迴圈操作iOS定時器
- iOS專案開發實戰——使用程式碼實現頁面跳轉iOS
- iOS專案開發實戰——實現檢視切換動畫iOS動畫
- 實現元素的淡入淡出效果
- iOS專案開發實戰——UILabel與取色器的使用iOSUI
- jQuery 實現淡入淡出效果jQuery
- iOS開發專案實戰——Swift實現ScrollView滾動條功能iOSSwiftView
- iOS專案開發實戰——實現蘋果本地訊息通知推送服務iOS蘋果
- iOS專案開發實戰——理解frame,bounds,centeriOS
- iOS專案開發實戰——配置自定義動畫iOS動畫
- iOS專案開發實戰——plist陣列解析iOS陣列
- 如何實現 iOS 16 帶來的 Depth Effect 圖片效果iOS
- iOS專案開發實戰——Swift實現多個TableView的側滑與切換iOSSwiftView
- 圖片模糊效果實現(RenderScript)
- iOS專案開發實戰——UIView的層級關係iOSUIView
- iOS專案開發實戰——使用CoreLocation獲取當前位置資訊iOS
- 使用CSS的clip-path實現圖片剪下效果CSS
- 實戰:圖片上傳元件開發元件
- 直播app開發搭建,純javascript實現圖片放大鏡效果APPJavaScript
- 實現背景圖片的全屏拉伸效果
- canvas實現的圖片放大鏡效果Canvas
- flask 專案開發實戰Flask
- iOS Animation] CALayer 專用圖層iOS
- iOS專案開發實戰——使用程式碼獲取螢幕寬高iOS
- iOS專案開發實戰——使用ShareSDK進行QQ和微信分享iOS
- iOS專案開發實戰——學會使用TableView列表控制元件(一)iOSView控制元件
- iOS專案開發實戰——學會使用TableView列表控制元件(二)iOSView控制元件
- iOS 開發之模糊效果的五種實現iOS
- JS實現馬賽克圖片效果JS
- PHP實現水印效果(文字、圖片)PHP
- 滑鼠放在圖片實現高亮效果