簡體   English   中英

CATransaction不動畫

[英]CATransaction Not Animating

我已經在XCode中創建了一個新的基於視圖的應用程序。

在ViewController中,我修改過的唯一代碼如下所示:

- (void)viewDidLoad {
[super viewDidLoad];

UIView *newView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
newView.backgroundColor = [UIColor redColor];
[self.view addSubview:newView];


[CATransaction begin];
[CATransaction setValue:[NSNumber numberWithFloat:0.5f] forKey:kCATransactionAnimationDuration];

newView.layer.frame = CGRectMake(20,20,220,220);

[CATransaction commit];
}

它應創建一個紅色正方形,該紅色正方形將在應用程序加載后立即進行半秒的動畫處理。 問題在於它沒有動畫。 我不知道為什么。 我創建了這個簡單的項目來隔離所有變量,但仍然無法正常工作。

任何人都可以幫忙或為我指出一些Core-Animation閱讀材料的正確方向。 我已經經歷了蘋果公司的所有工作。

如果您在CALayer上設置屬性,則您的代碼將按預期進行動畫處理(默認情況下為動畫)。 為了使UIView動畫,必須在一個塊內更改其屬性,如下所示:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0f];

// Change properties here

[UIView commitAnimations];

CATransactions用於對動畫進行分組,以便對其進行協調,或手動禁用一組對象的動畫。

任何人都可以幫忙或為我指出一些Core-Animation閱讀材料的正確方向。 我已經經歷了蘋果公司的所有工作。

請參閱: Mac OS X和iPhone的核心動畫:創建引人注目的動態用戶界面 ,以在視圖和圖層上出色地演練核心動畫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM