我目前通過執行以下操作執行起來捲曲動畫:有沒有其他方法使用動畫塊來執行此動畫?
CATransition *animation = [CATransition animation];
animation.type = @"pageCurl";
animation.subtype = kCATransitionFromTop;
animation.fillMode = kCAFillModeForwards;
animation.duration = 1;
animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];
[[self.view.window layer] addAnimation:animation forKey:nil];
該動畫將只執行一個頁面捲曲動畫,但最終你留在看你有開始了同樣的觀點。沒有發生過真正的轉換。
現在用動畫塊我知道你可以做些什麼來的效果:
[UIView transitionFromView:self.view
toView:aNewView // a view to transition to
duration:1
options:UIViewAnimationTransitionCurlUp|UIViewAnimationOptionCurveEaseIn
completion:NULL];
但是,使用要轉換到一個新的視圖動畫塊,aNewView
,這是從CATransition動畫不同,高於該重用相同的觀點(沒有真正的過渡發生)。動畫塊的問題是你必須實際創建新的視圖才能轉換到這個視圖,因爲視圖相當複雜,我寧願不創建一個UIView子類。
有沒有辦法使用動畫塊執行上述CATransition動畫,同時避開重建視圖或創建自定義子類的困難?
你不能只做[UIView的transitionFromView:self.view toView:self.view ...? – Letrstotheprez 2012-02-22 03:32:26
沒有。視圖被刪除出於某種原因,屏幕是黑色 – 2012-02-22 17:17:18
我認爲你可以嘗試[UIView transitionFromView:self.view toView:[self.view copy] ... – Letrstotheprez 2012-02-23 02:41:28