- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent*)event
{
/*------讓黃色視圖移動三角形------*/
/**
*動畫只是一個效果,并不會影響到視圖本身的位置
* 1.在動畫結(jié)束后,手動的移動視圖的位置(動畫代理)
* 2.了解:利用fillMode配合removeOnCompletion使用
*動畫效果在使用完成后,默認(rèn)是會被移除的
*當(dāng)界面消失(按下Home鍵,或者是scrollView的內(nèi)容被拖走了,看不到),動畫是會被移除的
*將removeOnCompletion設(shè)置為NO,當(dāng)動畫完成了,也不會將它移除
*/
//實例化一個關(guān)鍵幀動畫,綁定了要操作的屬性
//使用transform.translation ,寫錯是不會崩潰,但沒有動畫效果
//使用Layer的position屬性,也可以實現(xiàn)位移效果
CAKeyframeAnimation*animation = [CAKeyframeAnimationanimationWithKeyPath:@"position"];
// NSObject已經(jīng)遵守了協(xié)議,代理方法直接從父類繼承過來,直接重寫即可
//? ? animation.delegate = self;
NSValue*value1 = [NSValuevalueWithCGPoint:CGPointMake(100,100)];
NSValue*value2 = [NSValuevalueWithCGPoint:CGPointMake(300,100)];
NSValue*value3 = [NSValuevalueWithCGPoint:CGPointMake(100,300)];
//關(guān)鍵幀數(shù)組,三角形的三個點(需要包裝一下)
animation.values=@[value1, value2, value3, value1];
//配置其它的參數(shù)
animation.duration=2.0;
//無限重復(fù)
//? ? animation.repeatCount = MAXFLOAT;
//動畫完成后是否被移除,默認(rèn)是被會移除
animation.removedOnCompletion=NO;
//計算模式(根據(jù)duration來計算每個value,產(chǎn)生動畫的效果)
// kCAAnimationLinear是默認(rèn),線性的計算
// kCAAnimationDiscrete不連續(xù)的動畫效果
animation.calculationMode=kCAAnimationCubic;
//了解:填充模式, kCAFillModeForwards要配置動畫移除
animation.fillMode=kCAFillModeForwards;
[_yellowView.layeraddAnimation:animationforKey:nil];
}