你可以發佈動畫塊和其他相關代碼嗎?我不知道什麼CGAffineTransformMakeTranslation
不帶標籤的,但如果你想動畫幀的位置,您可以使用此:
CGRect frame = _nameLabel.frame;
frame.origin.y = 100; //Desired height, origin.x can be modified as well.
//You can also change the frame size here but it wont work on UILabels, you will need `CGAffineTransformScale` for that.
[UIView animateWithDuration: 1.5
delay:0.0
options:UIViewAnimationCurveEaseInOut | UIViewAnimationOptionBeginFromCurrentState
animations:^ {
[_nameLabel setFrame:frame];
}
completion:^ (BOOL finished) {
}];
編輯:另一種方法:
CGRect frame = _nameLabel.frame;
frame.origin.y = 100;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:0.5];
[_nameLabel setFrame: newFrame];
[UIView commitAnimations];
當前狀態是可能標籤的當前位置,首先嚐試,但如果沒有任何反應,則刪除UIViewAnimationOptionBeginFromCurrentState
或在動畫之前將標籤的框架設置到另一個位置,並將其移動到動畫塊中的初始位置(位於xib文件中的位置) ,你的電話。
上述代碼會將您的標籤向下移動50點並向右移動。你想要發生什麼? – jrturton