0

以下のコードを使用して、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);

これについて何か助けはありますか?びくびくしたアニメーションなしで結果を得る方法はありますか?

読んでくれてありがとう!

4

1 に答える 1

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;
}];
于 2013-01-17T16:55:02.973 に答える