今日所學(xué)20160107

1. Bezier曲線

相關(guān)軟件:PaintCode:可以直接畫圖祠汇,軟件根據(jù)圖像生產(chǎn)Bezier曲線

相關(guān)概念:UIBezierPath和CGPath

方法1:- (void)moveToPoint:(CGPoint)point;? //設(shè)置Bezier曲線起始點(diǎn)猾担;對應(yīng)CGPath方法:CG_EXTERN void CGPathMoveToPoint(CGMutablePathRef __nullable path,const CGAffineTransform * __nullable m, CGFloat x, CGFloat y)

方法2:- (void)addLineToPoint:(CGPoint)point; // 線性Bezier曲線終點(diǎn)蜡镶;對應(yīng)CGPath方法:CG_EXTERN void CGPathAddLineToPoint(CGMutablePathRef __nullable path,const CGAffineTransform * __nullable m, CGFloat x, CGFloat y)

函數(shù):B(t) = (1-t)*P0 + t*P1;( 0 ≤ t ≤1 )

方法3:- (void)addQuadCurveToPoint:(CGPoint)endPoint controlPoint:(CGPoint)controlPoint;? ? //二元Bezier曲線,與moveToPoint:(CGPoint)point;一起使用麦萤,point(P0點(diǎn))為起始點(diǎn)距贷,endPoint(P2點(diǎn))為中點(diǎn),controlPoint(P1點(diǎn))為控制點(diǎn)敞映;對應(yīng)CGPath方法:CG_EXTERN void CGPathAddQuadCurveToPoint(CGMutablePathRef __nullable path,const CGAffineTransform *__nullable m, CGFloat cpx, CGFloat cpy,?CGFloat x, CGFloat y)

函數(shù):B(t) = (1-t)*(1-t)*P0 + 2t*(1-t)*P1 + t*t*P2;( 0 ≤ t ≤1 )

方法4:- (void)addCurveToPoint:(CGPoint)endPoint controlPoint1:(CGPoint)controlPoint1 controlPoint2:(CGPoint)controlPoint2;? //三元Bezier曲線边臼,與與moveToPoint:(CGPoint)point;一起使用,point(P0點(diǎn))為起始點(diǎn)崖堤,endPoint(P3點(diǎn))為終點(diǎn)侍咱,controlPoint1(P1點(diǎn))和controlPoint2(P2點(diǎn))為控制點(diǎn);對應(yīng)CGPath方法:CG_EXTERN void CGPathAddCurveToPoint(CGMutablePathRef __nullable path,const CGAffineTransform * __nullable m, CGFloat cp1x, CGFloat cp1y,CGFloat cp2x, CGFloat cp2y, CGFloat x, CGFloat y)

函數(shù):B(t) = (1-t)*(1-t)*(1-t)*P0 + 3t*(1-t)(1-t)P1 + 3t*t*(1-t)P2 +t*t*t*P3;( 0 ≤ t ≤1 )

方法5:- (void)addArcWithCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise密幔;//以某個點(diǎn)為圓心畫圓弧楔脯,center:圓心? radius:半徑? startAngle:起始角度? clockwise:結(jié)束角度 clockwise:是否順時針;

2. Bezier曲線+動畫

步驟:1. 創(chuàng)建Bezier曲線

2. 創(chuàng)建CAShapeLayer創(chuàng)建圖層胯甩,將圖層的path屬性設(shè)值為Bezier曲線的path昧廷,并設(shè)置該圖層的一些屬性

3. 創(chuàng)建動畫CABasicAnimation,并添加到CAShapeLayer創(chuàng)建的圖層中

其中:CABasicAnimation *checkAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];? keyPath:通過strokeStart和strokeEnd來確定起始點(diǎn)和結(jié)束點(diǎn)的動畫偎箫;CABasicAnimation中木柬,fromValue和toValue來分別確定起始點(diǎn)和結(jié)束點(diǎn)動畫的區(qū)域范圍

3. Layer的mask屬性應(yīng)用

頁面交互:- (void)animateTransition:(id)transitionContext;在這個代理方法中執(zhí)行:

1.獲取fromVC:ViewController * fromVC = (ViewController *)[transitionContext viewControllerForKey:UITransitionContextFromViewControllerKe

2.獲取toVC:SecondViewController *toVC = (SecondViewController *)[transitionContext viewControllerForKey:UITransitionContextToViewControllerKey];

3.添加到containerView:UIView *contView = [transitionContext containerView];

[contView addSubview:toVC.view];

4.設(shè)置toVC的mask為CAShapeLayer,并為這個CAShapeLayer添加屬性路徑以及動畫效果淹办;

5.在動畫結(jié)束時眉枕,移除mask值:- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag? ? {? ? [self.transitionContext viewControllerForKey:UITransitionContextToViewControllerKey].view.layer.mask = nil;? ? }

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市怜森,隨后出現(xiàn)的幾起案子速挑,更是在濱河造成了極大的恐慌,老刑警劉巖副硅,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件姥宝,死亡現(xiàn)場離奇詭異,居然都是意外死亡想许,警方通過查閱死者的電腦和手機(jī)伶授,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進(jìn)店門断序,熙熙樓的掌柜王于貴愁眉苦臉地迎上來流纹,“玉大人,你說我怎么就攤上這事违诗∈” “怎么了?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵诸迟,是天一觀的道長茸炒。 經(jīng)常有香客問我愕乎,道長,這世上最難降的妖魔是什么壁公? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任感论,我火速辦了婚禮,結(jié)果婚禮上紊册,老公的妹妹穿的比我還像新娘比肄。我一直安慰自己,他們只是感情好囊陡,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布芳绩。 她就那樣靜靜地躺著,像睡著了一般撞反。 火紅的嫁衣襯著肌膚如雪妥色。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天遏片,我揣著相機(jī)與錄音嘹害,去河邊找鬼。 笑死丁稀,一個胖子當(dāng)著我的面吹牛吼拥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播线衫,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼凿可,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了授账?” 一聲冷哼從身側(cè)響起枯跑,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎白热,沒想到半個月后敛助,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡屋确,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年纳击,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片攻臀。...
    茶點(diǎn)故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡焕数,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出刨啸,到底是詐尸還是另有隱情堡赔,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布设联,位于F島的核電站善已,受9級特大地震影響灼捂,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜换团,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一悉稠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧艘包,春花似錦偎球、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至磷醋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間邓线,已是汗流浹背淌友。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工骇陈, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留震庭,地道東北人你雌。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓器联,卻偏偏與公主長得像,于是被迫代替她去往敵國和親婿崭。 傳聞我的和親對象是個殘疾皇子拨拓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評論 2 359

推薦閱讀更多精彩內(nèi)容