簡體   English   中英

iOS:更改方向時跳動的動畫setFrame

[英]iOS: jumpy animation when changing orientation, setFrame

當iOS設備上的方向發生變化時,我正在使用下面的代碼來設置視圖。 這樣可以為我提供所需的形狀(更寬和相同的高度),但是在更改方向時動畫會跳動。 如果隱藏setFrame代碼,動畫將非常平滑,但形狀當然不會變寬。 我嘗試添加一個變換,但是到目前為止,它以不希望的方式扭曲了視圖的形狀(因為視圖包含帶有圓角的復雜繪制形狀等)。

[myView setFrame:CGRectMake(0, 0, self.view.bounds.size.width-20, 170)];     
[myView setNeedsDisplay];     
CGPoint viewCenter = CGPointMake((myView.frame.size.width/2)+someNum (self.view.bounds.size.height-(someOtherNum/2)-anotherNum));     
myView.center = viewCenter;

//quick unsuccessful test to see if transforms would work:
//myView.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1.5, 1);

有什么幫助嗎? 沒有跳動的動畫,有沒有辦法得到我的結果?

謝謝閱讀!

您是否嘗試過UIViewAnimation?

[UIView animateWithDuration:0.2 animations:^{
    [myView setFrame:CGRectMake(0, 0, self.view.bounds.size.width-20, 170)];     
    [myView setNeedsDisplay];     
    CGPoint viewCenter = CGPointMake((myView.frame.size.width/2) + someNum
    (self.view.bounds.size.height-(someOtherNum/2)-anotherNum));
    myView.center = viewCenter;
}];

暫無
暫無

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

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