使用 maskView 設計動畫

2021-12-29 20:08:57 字數 1533 閱讀 9583

1.maskview(masklayer) 基本原理 :可模擬於多張png疊加遮罩

2.maskview配合cagradientlayer,alpha通道的使用.maskview是ios8以上才有,如果要考慮相容低版本,用masklayer替換

3.設計方本橫向漸變消失的控制項

一、兩張png疊加遮罩

- (void)addmaskview

cgfloat width = 120;

// 使用maskview的情況

uiimageview *addimageview= [[uiimageview alloc] initwithframe:cgrectmake(20, 20 , width, width)];

[self.view addsubview: addimageview];

addimageview.image = [uiimage imagenamed:@base];

uiimageview *mask = [[uiimageview alloc] initwithframe:cgrectmake(0, 0, width, width)];

mask.image = [uiimage imagenamed:@mask];

// maskview並不能用addsubview來新增遮罩,這點千萬注意

addimageview.maskview = mask;

二、maskview 配合 cagradientlayer 的使用

1.用cagradientlayer直接產生帶透明畫素通道的layer 2.用maskview直接載入帶cagradientlayer的view 3.可以通過對cagradientlayer進行動畫的操作實現動畫效果

- (void)addgradientlayer else completion:^(bool finished) else completion:^(bool finished) else etype;

@inte***ce viewcontroller ()

@property (nonatomic, strong) tranformfadeview *tranformfadeviewone;

@property (nonatomic, strong) tranformfadeview *tranformfadeviewtwo;

@property (nonatomic, strong) nstimer *timer;

@property (nonatomic) etype type;

@end

@implementation viewcontroller

- (void)viewdidload else {

self.type = type_one;

[self.view sendsubviewtoback:self.tranformfadeviewone];

[self.tranformfadeviewone showanimated:no];

[self.tranformfadeviewtwo fadeanimated:yes];

@end

jQuery設計動畫

show show duration,callback show duration easing callback 案例 toggle duration callback toggle duration easing callback toggle showorhide 顯示和隱藏 滑動方法 sli...

設計CSS動畫

簡單基礎概念如下 1 轉換 1 什麼是轉換 改變元素在頁面中的大小,位置,角度和形狀的一種方式 2 轉換分類 1 2d轉換 使元素在x軸和y軸上發生變化效果 2 3d轉換 在2d轉換基礎上,增加 z軸的變化效果 3 轉換屬性 屬性 transform 取值 1 none 預設值,不進行任何轉換 2 ...

設計動畫顯示窗體

一 例項介紹 本文實現的動畫是指,窗體顯示的時候慢慢顯示到使用者面前,窗體關閉時,有乙個動態效果!二 設計思路 需要使用windows提供的api函式animatewindow 該函式存放在user.dll檔案中,該函式的宣告方法如下 dllimport user32.dll private sta...