0

UIView を使用して回転させていCGAffineTransformMakeRotationますが、回転値は Box2D と呼ばれる 2D 物理エンジンから取得されています (おそらく聞いたことがあるでしょう)。回転がUIViewを回転させることを除いて、統合はうまく機能しているようです。うまく説明できないので、何が問題なのかを示すビデオを次に示します。

http://screencast.com/t/uamth2O7mL

obj は、「frame」と呼ばれる別の構造体と、rotation と呼ばれる float を持つ構造体です。どちらも 100% 正常に動作しています。

UIView *view = [self.view .subviews objectAtIndex:i];

view.transform = CGAffineTransformMakeRotation(obj->rotation);
[view setFrame:CGRectMake(obj->frame->x, obj->frame->y, obj->frame->width, obj->frame->height)];
4

1 に答える 1

0

コメントで提案されているように(@borrrdenに感謝します)、UIViewの境界も設定する必要があります。

私のコードによると、これが私が追加したものです:

[view setBounds:CGRectMake(obj->frame->x, obj->frame->y, obj->frame->width, obj->frame->height)];
于 2013-03-06T06:53:53.613 に答える