我一直在試圖建立一個徽標的輸入效果,從屏幕頂部到底部,並保留在那裏,當我的應用程序加載一個新的視圖。我已經看到所有使用NSTimer反射圖像的教程,但是一旦我的圖標觸到底部,它就需要退出。我將閱讀動畫塊代碼,以查看我的解決方案是否駐留在那裏。如何將圖像從屏幕頂部移動到底部並讓它停留在Xcode/iOS中?
道歉我是一個新人,非常感謝您的幫助。
我一直在試圖建立一個徽標的輸入效果,從屏幕頂部到底部,並保留在那裏,當我的應用程序加載一個新的視圖。我已經看到所有使用NSTimer反射圖像的教程,但是一旦我的圖標觸到底部,它就需要退出。我將閱讀動畫塊代碼,以查看我的解決方案是否駐留在那裏。如何將圖像從屏幕頂部移動到底部並讓它停留在Xcode/iOS中?
道歉我是一個新人,非常感謝您的幫助。
設置標誌幀到頂部,然後:
[UIView beginAnimations: @"moveLogo" context: nil];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:1.0];
[UIView setAnimationCurve: UIViewAnimationCurveLinear];
logoToMove.frame = CGRectMake(final frame at the bottom);
[UIView commitAnimations];
logoToMove
是您的標誌,給它一個插座,並把它掛在廈門國際銀行。 所以你將設置初始幀和動畫 - 最後一幀。動畫將完成剩下的工作。 如果您不喜歡,請將UIViewAnimationCurveLinear
更改爲所需的值。也是加快或減慢運動的持續時間。
要在動畫的最後刪除的視圖,最簡單的方法是使用塊:
logoToMove.frame = topRect;
[UIView animateWithDuration:duration
animations:^{
logoToMove.frame = bottomFrame;
}
completion:^(BOOL finished) {
[logoToMove removeFromSuperview];
}
];
做這樣說,這使您能夠控制動畫,並在做什麼,一旦它在已經完工一個簡單的方法
偉大的建議 - 非常感謝。 我試圖找出CGRectMake中的正確參數(假設CGRectMake(10,10,300,400)意味着我從iOS設備屏幕的左上角開始,移動到右側10,向下移動10(開始指向矩形) - 然後向右移動300多個,向下移動到底部400,形成完整矩形的對角。我看到奇怪的動畫有時會向上移動,有時會向下移動...要去嘗試UIViewAnimationCurveLinear – JimCSanJose 2012-07-11 03:16:47
後續問題Teodor - 設置初始幀我會在界面生成器或代碼中執行嗎?如果在代碼中我會使用類似logoToMove.origin.y = self.view .bounds.size.height ?? – JimCSanJose 2012-07-11 07:38:59
夥計們,它比你想象的要容易,首先在任何你想要的地方以編程方式設置框架,這將是起點,然後使用上面的代碼使對象移動到最終點你在第5行中定義:logoToMove.frame = bla-bla-bla)。就這樣。而user1514009,你應該讀一下CGRectMake。 – 2012-07-11 12:25:22