Core Animation實戰一(認識圖層CALayer)
前言:
本文主要是蘋果官網文件Core Animation例子的總結學習,主要是實戰程式碼,不過多BB概念,幾年的學習經驗總結出,通過程式碼分析概念對我來說更有興趣,更好吸收。
Core Animation其實是一個令人誤解的命名。你可能認為它只是用來做動畫的,但實際上它是從一個叫做Layer Kit這麼一個不怎麼和動畫有關的名字演變而來,所以做動畫這只是Core Animation特性的冰山一角。
Core Animation是一個複合引擎,它的職責就是儘可能快地組合螢幕上不同的可視內容,這個內容是被分解成獨立的圖層,儲存在一個叫做圖層樹的體系之中。於是這個樹形成了UIKit以及在iOS應用程式當中你所能在螢幕上看見的一切的基礎。
認識CALayer
建立Layer和Layer的基本幾個簡單的屬性,不好說明的以後會單獨拿出來做例子。//
// ViewController.m
// LayerStudyDemo
//
// Created by apple on 2017/9/15.
// Copyright © 2017年 ZY. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
{
CALayer * yellowLayer;
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.view.backgroundColor = [UIColor whiteColor];
//是否沿著Y軸翻轉
self.view.layer.geometryFlipped = YES;
[self layerDemo];
}
//建立一個圖層
-(void)layerDemo{
yellowLayer = [CALayer layer];
yellowLayer.frame = CGRectMake(50, 200, 100, 100);
yellowLayer.backgroundColor = [UIColor yellowColor].CGColor;
//設定圓角
yellowLayer.cornerRadius = 30;
//預設四個圓角,你也可以選擇圓角個數
yellowLayer.maskedCorners = kCALayerMinXMaxYCorner|kCALayerMinXMinYCorner;
//BOOL,Animatable。圖層有雙面,是否都顯示,設定NO意思背面看不到。下圖是兩個圖層分別設定doubleSided為NO和YES翻轉180°的效果。預設值為YES
yellowLayer.doubleSided = NO;
CATextLayer * textLayer = [CATextLayer layer];
textLayer.frame = yellowLayer.bounds;
textLayer.string = @"我們不一樣";
[yellowLayer addSublayer:textLayer];
CALayer * blueLayer = [CALayer layer];
blueLayer.frame = CGRectMake(50, 200, 100, 100);
blueLayer.backgroundColor = [UIColor blueColor].CGColor;
blueLayer.anchorPoint = CGPointMake(0.0f, 0.0f);
[self.view.layer addSublayer:blueLayer];
[self.view.layer addSublayer:yellowLayer];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
相關文章
- iOS Animation] CALayer 專用圖層iOS
- Core Animation實戰三(圖層幾何學)
- Core Animation實戰二(寄宿圖)
- Core Animation實戰五(變換)
- CALayer CAEmitterLayer(粒子圖層)MIT
- iOS——Core Animation 知識摘抄(一)iOS
- Core Animation實戰四(視覺效果)視覺
- CALayer CAGradientLayer(梯度圖層)梯度
- 玩轉iOS開發:6.《Core Animation》CALayer的Specialized LayersiOSZed
- 玩轉iOS開發:4.《Core Animation》CALayer的視覺效果iOS視覺
- iOS——Core Animation 知識摘抄(二)iOS
- iOS——Core Animation 知識摘抄(三)iOS
- iOS——Core Animation 知識摘抄(四)iOS
- netty實戰之一 認識nettyNetty
- Flutter | 通過一個小例子帶你認識動畫 AnimationFlutter動畫
- Core Animation總結
- Core Animation 之 ViewView
- iOS專案開發實戰——使用CALayer實現圖片的淡入淡出效果iOS
- webpack4.X 實戰(一):全面認識webpack、核心概念Web
- 【前端Talkking】CSS系列——一步一步帶你認識animation動畫效果前端CSS動畫
- 核心動畫(Core Animation Programming)動畫
- Core Animation 筆記記錄筆記
- iOS開發之Core AnimationiOS
- 【asp.net core 系列】8 實戰之 利用 EF Core 完成資料操作層的實現ASP.NET
- CALayer Mask遮蓋圖層(iOS論文系列)iOS
- 【.NET Core微服務實戰-統一身份認證】開篇及目錄索引微服務索引
- iOS動畫系列之三:Core AnimationiOS動畫
- iOS Core Animation 簡明系列教程iOS
- 圖形的認識
- 關於animation和transition一點知識
- Spring Security實戰三:說說我的認識Spring
- 從0認識競品分析(附實戰分析抖音)
- 圖解css3:核心技術與案例實戰.2.1 認識CSS選擇器圖解CSSS3
- Adobe國際認證,Photoshop中瞭解圖層基本知識
- 視覺效果 -- iOS Core Animation 系列三視覺iOS
- java core dump分析實戰Java
- Core Animation 高階技巧(四)視覺效果視覺
- Dotnet core使用JWT認證授權最佳實踐(一)JWT