YYKit原始碼講解(4)
接下來看base資料夾下的Quartz 資料夾內容
這個資料夾下的類不多
CALayer+YYAdd.h
YYCGUtilities
1.CALayer+YYAdd.h
好多函式和UIView 的重合,這裡不做介紹了
- (CGFloat)transformRotation
- (void)setTransformRotation:(CGFloat)v
設定或者獲取旋轉角度
- (CGFloat)transformRotationX
- (void)setTransformRotationX:(CGFloat)v
設定或者獲取x軸旋轉角度
- (CGFloat)transformRotationY
- (void)setTransformRotationY:(CGFloat)v
設定或者獲取y軸旋轉角度
- (CGFloat)transformRotationZ
- (void)setTransformRotationZ:(CGFloat)v
設定或者獲取z軸旋轉角度
- (CGFloat)transformScaleX
- (void)setTransformScaleX:(CGFloat)v
- (CGFloat)transformScaleY
- (void)setTransformScaleY:(CGFloat)v
- (CGFloat)transformScaleZ
- (void)setTransformScaleZ:(CGFloat)v
xyz軸的縮放
- (CGFloat)transformScale
- (void)setTransformScale:(CGFloat)v
平面縮放
- (CGFloat)transformTranslationX
- (void)setTransformTranslationX:(CGFloat)v
- (CGFloat)transformTranslationY
- (void)setTransformTranslationY:(CGFloat)v
- (CGFloat)transformTranslationZ
- (void)setTransformTranslationZ:(CGFloat)v
平移
- (CGFloat)transformDepth {
return self.transform.m34;
}
- (void)setTransformDepth:(CGFloat)v {
CATransform3D d = self.transform;
d.m34 = v;
self.transform = d;
}
設定深度
這篇文章講解什麼是m34的。
- (UIViewContentMode)contentMode
- (void)setContentMode:(UIViewContentMode)contentMode
NSString *YYUIViewContentModeToCAGravity(UIViewContentMode contentMode) {
switch (contentMode) {
case UIViewContentModeScaleToFill: return kCAGravityResize;
case UIViewContentModeScaleAspectFit: return kCAGravityResizeAspect;
case UIViewContentModeScaleAspectFill: return kCAGravityResizeAspectFill;
case UIViewContentModeRedraw: return kCAGravityResize;
case UIViewContentModeCenter: return kCAGravityCenter;
case UIViewContentModeTop: return kCAGravityTop;
case UIViewContentModeBottom: return kCAGravityBottom;
case UIViewContentModeLeft: return kCAGravityLeft;
case UIViewContentModeRight: return kCAGravityRight;
case UIViewContentModeTopLeft: return kCAGravityTopLeft;
case UIViewContentModeTopRight: return kCAGravityTopRight;
case UIViewContentModeBottomLeft: return kCAGravityBottomLeft;
case UIViewContentModeBottomRight: return kCAGravityBottomRight;
default: return kCAGravityResize;
}
}
UIViewContentMode 和 kCAGravity 之間做的轉換橋接
- (void)addFadeAnimationWithDuration:(NSTimeInterval)duration curve:(UIViewAnimationCurve)curve
- (void)removePreviousFadeAnimation
增加幾種過度動畫
YYCGUtilities.h
CGContextRef YYCGContextCreateARGBBitmapContext(CGSize size, BOOL opaque, CGFloat scale)
獲取bitmap上下文context
這裡opaque 要是yes 就沒有透明度了
CGContextRef YYCGContextCreateGrayBitmapContext(CGSize size, CGFloat scale)
建立bitmap上下文,只有灰色的 。
CGFloat YYScreenScale()
獲取scale
CGSize YYScreenSize()
獲取螢幕大小
還有一些矩陣計算的東東不看了,有時間回來從新看的時候在學習吧,讓剩下部分爛尾吧。
相關文章
- YYKit 原始碼學習使用 1原始碼
- Gson的原始碼講解原始碼
- JUC 原始碼講解:sleep()原始碼
- YYKit原始碼探究(五十四) —— NSDate分類之Date modify(二)原始碼
- Groovy核心類原始碼講解(上)原始碼
- Redis原始碼系列之rename講解Redis原始碼
- JUC原始碼講解:逐步解析 join()原始碼
- JUC原始碼講解:逐步解析 Thread.init() 原始碼原始碼thread
- antd原始碼解讀(4)- ButtonGroup原始碼
- JWT身份認證(附帶原始碼講解)JWT原始碼
- YYKit--YYWeakProxy
- 5.4 以太坊原始碼詳解4原始碼
- 原始碼閱讀:全方位講解LongAdder原始碼
- YYKit之YYLabel
- Vue 原始碼解讀(4)—— 非同步更新Vue原始碼非同步
- EventBus 3.0+ 原始碼詳解(史上最詳細圖文講解)原始碼
- 深入講解Flutter應用模板原始碼:計數器示例Flutter原始碼
- FreeBSD10系統安裝核心原始碼方法講解原始碼
- 影片解碼基礎講解
- PostgreSQL 原始碼解讀(19)- 查詢語句#4(ParseTree詳解)SQL原始碼
- PostgreSQL 原始碼解讀(5)- 插入資料#4(ExecInsert)SQL原始碼
- 里程焦慮的慢速通道:水貨笨叔講解QSpinLock原始碼:原始碼
- RouteServiceProvider程式碼講解IDE
- 音訊解碼基礎講解音訊
- webpack4原始碼分析Web原始碼
- 【Netty】(4)—原始碼AbstractBootstrapNetty原始碼boot
- Mybatis原始碼解析4——SqlSessionMyBatis原始碼SQLSession
- YYKit(Base模組)學習筆記筆記
- PostgreSQL 原始碼解讀(139)- Buffer Manager#4(StrategyGetBuffer函式)SQL原始碼函式
- Java教程學習入門影片原始碼課件:JVM調優講解Java原始碼JVM
- Spring+EhCache快取例項(詳細講解+原始碼下載)Spring快取原始碼
- 機器學習之決策樹詳細講解及程式碼講解機器學習
- freeRTOS原始碼解析4--tasks.c 4原始碼
- myBatis原始碼解析-反射篇(4)MyBatis原始碼反射
- Architecture(4)LitePal原始碼分析原始碼
- EOS原始碼分析(4)錢包原始碼
- 求jiveJdon 4.x 原始碼原始碼
- PostgreSQL 原始碼解讀(156)- 後臺程式#8(walsender#4)SQL原始碼