簡體   English   中英

UIView animatewithduration-iOS

[英]UIView animatewithduration - iOS

我正在嘗試使用UIView animateWithDuration將標簽從A點移動到B點,如下所示

    [UIView animateWithDuration:3 delay:0 options:UIViewAnimationTransitionNone animations:^(void){
        label.alpha = 1;
        label.center = CGPointMake(label.center.x , label.center.y +740);

        }completion:^(BOOL Finished){ 
         label.alpha = 0;
        label.center = CGPointMake(label.center.x , label.center.y - 740);]

一旦標簽即將達到740,它就會減速。 是否有可能使勻速運動到B點而不是放慢速度?

用這個:

[UIView animateWithDuration:3 delay:0 options:UIViewAnimationTransitionNone | UIViewAnimationOptionCurveLinear animations:^(void){ 
...

只需將動畫選項更改為UIViewAnimationOptionCurveLinear以使動畫使用刪除所有的加速和減速或UIViewAnimationOptionCurveEaseIn來保持緩慢的開始而不結束時減速。

您所看到的是預期的, 甚至已記錄在案 (請參閱下文)。 默認情況下,動畫的開始和結束均緩慢:

討論區

此方法使用UIViewAnimationOptionCurveEaseInOut立即執行指定的動畫。

在選項中包括UIViewAnimationCurveLinear而不是UIViewAnimationTransitionNone UIViewAnimationTransitionNone不適用於此類動畫。 它用於視圖控制器轉換。

暫無
暫無

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

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