国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Core Animation學(xué)習(xí)筆記

移動(dòng)開(kāi)發(fā) iOS
于Core Animation的內(nèi)容實(shí)在是非常繁雜,應(yīng)用的Objective-C語(yǔ)言本身的特性也很多,所以寫(xiě)個(gè)備忘錄記錄一下,也一塊再來(lái)學(xué)習(xí)。

Core Animation學(xué)習(xí)筆記是本文要介紹的內(nèi)容,研究Core Animation已經(jīng)有段時(shí)間了,關(guān)于Core Animation,網(wǎng)上沒(méi)什么好的介紹。

蘋(píng)果網(wǎng)站上有篇專(zhuān)門(mén)的總結(jié)性介紹,但是似乎原理性的東西不多,看得人云山霧罩,感覺(jué),寫(xiě)那篇東西的人,其實(shí)是假設(shè)讀的人了解界面動(dòng)畫(huà)技術(shù)的原理的。今天有點(diǎn)別的事情要使用Linux,忘掉了ssh的密碼,沒(méi)辦法重新設(shè)ssh,結(jié)果怎么也想不起來(lái)怎么設(shè)ssh遠(yuǎn)程登陸了,沒(méi)辦法又到網(wǎng)上查了一遍,太浪費(fèi)時(shí)間了,痛感忘記記筆記是多么可怕的事情。

鑒于Core Animation的內(nèi)容實(shí)在是非常繁雜,應(yīng)用的Objective-C語(yǔ)言本身的特性也很多,所以寫(xiě)個(gè)備忘錄記錄一下,懂的人看了后如果發(fā)現(xiàn)了錯(cuò)誤,還不吝指教。

1、UIView是iOS系統(tǒng)中界面元素的基礎(chǔ),所有的界面元素都繼承自它。它本身完全是由CoreAnimation來(lái)實(shí)現(xiàn)的(Mac下似乎不是這樣)。它真正的繪圖部分,是由一個(gè)叫CALayer(Core Animation Layer)的類(lèi)來(lái)管理。UIView本身,更像是一個(gè)CALayer的管理器,訪(fǎng)問(wèn)它的跟繪圖和跟坐標(biāo)有關(guān)的屬性,例如frame,bounds等等,實(shí)際上內(nèi)部都是在訪(fǎng)問(wèn)它所包含的CALayer的相關(guān)屬性。

2、UIView有個(gè)layer屬性,可以返回它的主CALayer實(shí)例,UIView有一個(gè)layerClass方法,返回主layer所使用的類(lèi),UIView的子類(lèi),可以通過(guò)重載這個(gè)方法,來(lái)讓UIView使用不同的CALayer來(lái)顯示,例如通過(guò)

  1. - (class) layerClass {   
  2.   return ([CAEAGLLayer class]);   
  3. }  

使某個(gè)UIView的子類(lèi)使用GL來(lái)進(jìn)行繪制。
 
3、UIView的CALayer類(lèi)似UIView的子View樹(shù)形結(jié)構(gòu),也可以向它的layer上添加子layer,來(lái)完成某些特殊的表示。例如下面的代碼

  1. grayCover = [[CALayer alloc] init];   
  2. grayCover.backgroundColor = [[[UIColor blackColor] colorWithAlphaComponent:0.2] CGColor];   
  3. [self.layer addSubLayer: grayCover];  

會(huì)在目標(biāo)View上敷上一層黑色的透明薄膜。
 
4、UIView的layer樹(shù)形在系統(tǒng)內(nèi)部,被系統(tǒng)維護(hù)著三份copy(這段理解有點(diǎn)吃不準(zhǔn))。

第一份,邏輯樹(shù),就是代碼里可以操縱的,例如更改layer的屬性等等就在這一份。

第二份,動(dòng)畫(huà)樹(shù),這是一個(gè)中間層,系統(tǒng)正在這一層上更改屬性,進(jìn)行各種渲染操作。

第三份,顯示樹(shù),這棵樹(shù)的內(nèi)容是當(dāng)前正被顯示在屏幕上的內(nèi)容。

這三棵樹(shù)的邏輯結(jié)構(gòu)都是一樣的,區(qū)別只有各自的屬性。

5.動(dòng)畫(huà)的運(yùn)作

UIView的主layer以外(我覺(jué)得是這樣),對(duì)它的subLayer,也就是子layer的屬性進(jìn)行更改,系統(tǒng)將自動(dòng)進(jìn)行動(dòng)畫(huà)生成,動(dòng)畫(huà)持續(xù)時(shí)間有個(gè)缺省時(shí)間,個(gè)人感覺(jué)大概是0.5秒。在動(dòng)畫(huà)時(shí)間里,系統(tǒng)自動(dòng)判定哪些屬性更改了,自動(dòng)對(duì)更改的屬性進(jìn)行動(dòng)畫(huà)插值,生成中間幀然后連續(xù)顯示產(chǎn)生動(dòng)畫(huà)效果。

6.坐標(biāo)系系統(tǒng)(對(duì)position和anchorPoint的關(guān)系還是犯暈)

CALayer的坐標(biāo)系系統(tǒng)和UIView有點(diǎn)不一樣,它多了一個(gè)叫anchorPoint的屬性,它使用CGPoint結(jié)構(gòu),但是值域是0~1,也就是按照比例來(lái)設(shè)置。這個(gè)點(diǎn)是各種圖形變換的坐標(biāo)原點(diǎn),同時(shí)會(huì)更改layer的position的位置,它的缺省值是{0.5, 0.5},也就是在layer的中央。

  1. layer.anchorPoint = CGPointMake(0.f, 0.f); 

如果這么設(shè)置,layer的左上角就會(huì)被挪到原來(lái)的中間的位置,

加上這樣一句就好了

  1. layer.position = CGPointMake(0.f, 0.f); 

7.真實(shí)例子的分析

這是iphone上iBook翻頁(yè)的效果,假設(shè)每一頁(yè)都是一個(gè)UIView,我覺(jué)得一個(gè)頁(yè)面是貼了倆個(gè)Layer,文字Layer顯示正面的內(nèi)容,背面layer用文字layer的快照做affine翻轉(zhuǎn),貼在文字layer的后面。因?yàn)長(zhǎng)ayer可以設(shè)置顯示陰影,也許后面的陰影效果沒(méi)有使用單獨(dú)的一個(gè)layer來(lái)顯示。至于這個(gè)曲面效果,我查了很多資料也沒(méi)有結(jié)果,估計(jì)是使用了GL的曲面繪圖?

8、最后一個(gè)讓人惡心的。

layer可以設(shè)置圓角顯示,例如UIButton的效果,也可以設(shè)置陰影顯示,但是如果layer樹(shù)中的某個(gè)layer設(shè)置了圓角,樹(shù)中所有l(wèi)ayer的陰影效果都將顯示不了了。如果既想有圓角又想要陰影,好像只能做兩個(gè)重疊的UIView,一個(gè)的layer顯示圓角,一個(gè)的layer顯示陰影.....

小結(jié):Core Animation學(xué)習(xí)筆記的內(nèi)容介紹完了,。希望通過(guò)本文的學(xué)習(xí)能對(duì)你有所幫助!

責(zé)任編輯:zhaolei 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2014-12-31 13:31:31

圖形動(dòng)畫(huà)翻頁(yè)

2011-08-16 18:38:23

Core Animat動(dòng)畫(huà)

2011-07-03 10:16:45

Core Animat

2011-07-03 10:12:35

Core Animat

2011-07-03 10:05:52

Core Animat

2009-06-17 14:21:39

core java

2011-06-13 15:00:00

Cocoa TouchiOS

2011-07-18 16:57:36

Core Animation 動(dòng)畫(huà)

2011-07-29 09:45:11

iOS 圖形圖像 Core Anima

2011-08-02 15:47:28

Cocos2D Animation

2011-08-17 14:27:17

Core AnimatQuartz2D

2015-07-27 10:27:32

IOS基礎(chǔ)知識(shí)核心動(dòng)畫(huà)

2016-09-21 21:49:37

PromiseJavascript前端

2011-03-17 16:43:49

2009-07-14 16:08:41

WebWork學(xué)習(xí)

2021-10-06 10:40:23

Core JavaJava編程語(yǔ)言

2009-12-22 14:48:16

Fedora Core

2010-01-28 13:12:47

Android使用An

2011-08-01 15:41:50

IOS Core OS 框架

2011-03-15 16:19:08

iptables
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

一道本一区二区三区| 久久女同精品一区二区| 久久69精品久久久久久久电影好| 国产超碰在线| 91蝌蚪porny| www.射射射| 91蜜桃网站免费观看| 日本少妇精品亚洲第一区| 亚洲精品99999| 一区二区三区伦理| 日韩一区二区三区视频| 91成人高清| 欧美日韩国产高清一区二区三区| 国产中文字幕在线播放| 欧美性xxxxx极品| 亚洲成人av高清| 午夜婷婷国产麻豆精品| 色视频在线播放| 日本中文字幕电影在线观看| 亚洲另类色综合网站| 91国内视频| 亚洲国产日韩精品| 在线手机福利影院| 亚洲香肠在线观看| 三级黄视频在线观看| 一本久久综合亚洲鲁鲁五月天 | 欧美日韩国产综合久久 | 毛片免费看不卡网站| 精品久久人人做人人爰| 中文字幕有码在线视频| 欧美精品一区在线观看| 校园春色亚洲色图| 国产一区二区日韩精品欧美精品| 久久免费资源| 午夜欧美不卡精品aaaaa| 国产乱码精品一区二区亚洲| 成人国产在线视频| 黄色成人精品网站| 色综合视频二区偷拍在线| 国产在线不卡一区| 日韩视频第二页| 中文字幕乱码久久午夜不卡| 佐山爱痴汉视频一区二区三区| 欧美写真视频网站| av免费不卡| 国产亚洲一级高清| 欧美xxxx在线| 国产精品久久精品国产 | 超碰99在线| 久久精品91久久久久久再现| 欧美成a人免费观看久久| 亚洲a在线观看| 六月丁香婷婷色狠狠久久| 日韩小视频在线播放| 亚洲午夜在线观看视频在线| 在线视频三级| 亚洲精品资源美女情侣酒店| 91国内精品| 久久久99国产精品免费| 久久综合av免费| 男生女生差差差的视频在线观看| 精品黑人一区二区三区久久| 国产精品视屏| 久久国产精品 国产精品| 91美女福利视频| 国产三级视频在线播放线观看| 精品一区电影国产| 日韩欧美中字| 日韩成人手机在线| 欧美日韩亚洲天堂| 欧美在线va视频| 91在线观看免费观看| 国产精品一区专区| 男男做性免费视频网| 亚洲电影免费观看高清完整版在线| 日本精品在线播放| 久久精品国产综合精品| 日本一区二区三区在线观看| 免费黄网站在线| 久久久中精品2020中文| 老牛国产精品一区的观看方式| 99热在线免费| 亚洲午夜精品久久久久久性色| 一本到12不卡视频在线dvd| 97超碰在线人人| 欧美狂野另类xxxxoooo| 极品束缚调教一区二区网站| 一卡二卡3卡四卡高清精品视频| 亚洲一区二区三区四区不卡| 成人在线观看免费播放| 国产欧美日韩亚洲| 国产精品福利一区二区| 中日韩脚交footjobhd| 91传媒免费看| 中文字幕一区二区三区av| 美女的胸无遮挡在线观看| 国产美女被下药99| 久久久午夜精品| 欧美粗大gay| 欧美另类视频在线| 丰满岳妇乱一区二区三区| 韩国女主播一区二区三区 | 欧美96一区二区免费视频| 一级片在线播放| 欧美交受高潮1| 9l国产精品久久久久麻豆| xxxx成人| 欧美极品色图| 欧美日韩精品是欧美日韩精品| 日韩成人a**站| 99热.com| 韩国19禁主播vip福利视频| 不卡视频免费播放| 黄瓜视频成人app免费| 亚洲欧美国产精品桃花| 欧美精选一区二区| 亚洲天堂黄色| 一级在线观看| 国产精品欧美日韩久久| 91丨九色丨国产丨porny| 高潮在线视频| 奇米影视首页 狠狠色丁香婷婷久久综合 | 一区二区三区欧美日韩| 草莓视频一区二区三区| 日本一区二区黄色| 日韩在线欧美在线| 懂色av一区二区三区免费观看| av影片在线| 亚洲国产精品视频一区| 91精品国产色综合久久不卡蜜臀 | 米奇精品一区二区三区| 91在线观看免费高清完整版在线观看| 亚洲天堂免费看| 亚洲国产合集| 男人在线视频资源| 国产精品久久久久aaaa九色| 亚洲成人动漫av| 欧美在线网站| 黄网站在线免费看| 亚洲国产一区二区三区在线播| 亚洲第一区中文99精品| 国产综合色在线视频区| 亚洲伊人av| 99精品在线免费视频| 麻豆国产精品va在线观看不卡| 91蝌蚪porny成人天涯| а√中文在线天堂精品| 777免费视频| 亚洲最大的成人网| 欧美性大战久久久| 久久精品中文| 亚洲成人av观看| 久久婷婷综合色| 成人免费午夜电影| 乱色588欧美| 九九视频免费观看视频精品| 日本中文字幕高清视频| 国产一区视频在线| 欧美肥妇毛茸茸| 国产suv一区二区三区88区| 亚洲一区二区三区四区电影| 涩涩漫画在线观看| 91系列在线播放| 精品国产三级电影在线观看| 成人性生交大合| 怕怕欧美视频免费大全| 青青草视频在线免费观看| 免费试看一区| www.久久久久| 欧美日韩亚洲一区二区| 久久成人免费网站| 精品国产影院| 成人日韩欧美| 人人干人人视频| 99久久国产免费免费| 日韩欧美精品在线视频| 国产精品国产自产拍高清av王其| 中文字幕一区二区精品区| 黄色视屏免费在线观看| 成人免费观看毛片| 日本一区二区三区在线播放| 亚洲一区二区三区三| 欧美**vk| 四虎国产精品永久在线国在线| 国产免费xxx| 精品久久久久久综合日本 | 777a∨成人精品桃花网| 欧美国产禁国产网站cc| 国产精品三上| 91网址在线观看| 在线播放麻豆| 91色中文字幕| 亚洲美女动态图120秒| 久久久99精品免费观看不卡| 色97色成人| 手机av在线| 亚洲第一区视频| 久久免费视频3| 国产视频99| 57pao国产成人免费|