2
我想要創建一個「創建視圖的副本,將此副本從一個點移動到另一個點,同時減少不透明度直到其完全消失」的動畫。複製圖層並將其移動
我想我需要做的是通過CABasicAnimation
所以我嘗試類似的東西:
CGPoint point = CGPointMake(200, 0);
// copy layer
CALayer *layer = [[CALayer alloc] initWithLayer:self.animatedView.layer];
[self.animatedView.layer addSublayer:layer];
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"];
animation.fromValue = [layer valueForKey:@"position"];
animation.toValue = [NSValue valueWithCGPoint:point];
animation.duration = 2.0f;
CABasicAnimation *oanimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
oanimation.fromValue = @1;
oanimation.toValue = @0;
oanimation.duration = 1.0f;
// move copy layer
[layer addAnimation:animation forKey:@"position"];
[layer addAnimation:oanimation forKey:@"opacity"];
但是沒有什麼追加,我認爲這是有關的文檔正常情況:
這初始化用於爲presentationLayer方法創建圖層的陰影副本,例如 示例。在任何 其他情況下使用此方法都會產生未定義的行爲。例如,不要 使用此方法用現有圖層的 內容初始化新圖層。
有人已經做過這種動畫了嗎?
Thx尋求幫助。
爲什麼打副本?爲什麼一層?爲什麼不移動和淡入原始視圖? – Wain
因爲這不是我想要做的。我正在從左側控制器複製一個視圖到右側控制器(分割屏幕),所以我想要一個從左到右假動作的效果,同時保留在左側控制器 – Yaman
好吧,所以你想複製,但你仍然可以做到這一點在視圖層面。 'UIView'符合'NSCoding',所以你可以複製它。 – Wain