質問

autoresizingMasksを使用して、ユーザーが電話を回転させて自動回転させたように、手動でビューを回転させるにはどうすればよいですか。また、私はそれが即座に、アニメーションなしになりたいです。なぜこれが必要なのか知りたいのですが、 iPhone Dev-インターフェイスの回転を維持する他の質問をご覧ください。

ありがとう!!

役に立ちましたか?

解決

ここでやりたいことは、Affine変換を使用してビューを回転させることです。現時点では、コードを手元に持っていませんが、これを達成しました。単純な回転を行うと、ビューが望みのように中央ではなく切り取られることがわかります。ここで行う必要があるのは、レイヤーのアンカーを設定することです(値が必要なものになるまで値をいじってみてください)ビューを目的の場所に表示するために。これにアプローチする方法は、90度のアフィン変換回転を行い、ビューに与える影響を確認することです。これにより、アンカーが必要なレイヤーをどこで見つけることができるはずです。後でMacの前にいるときに、サンプルコードをここに投稿します。役に立てば幸いです

他のヒント

あなたが何を意味するのかよくわかりません

  

" ... autoresizingMasksを使用..."

UIIViewアニメーションでも同じことをしました。他にもたくさんのテクニックがあります。 ここに私のコードがあります:

-(void)rotateToLandscape
{
UIWindow *win = [[UIApplication sharedApplication]keyWindow];
if(UIInterfaceOrientationIsPortrait(self.interfaceOrientation)){
    [[[UIApplication sharedApplication] keyWindow] setBackgroundColor:[UIColor blackColor]];
    [UIView beginAnimations:@"View Flip" context:nil];
    [UIView setAnimationDuration:0.3];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    win.transform = CGAffineTransformIdentity;
    win.transform = CGAffineTransformMakeRotation(degreesToRadian(90));
    win.bounds = CGRectMake(0.0f, 0.0f, 480, 320);
    win.center = CGPointMake(160.0f, 240.0f);
    [UIView commitAnimations];
}   

}

//コードに説明が不要であることを願っています。
//アニメーションステートメントを削除して、必要な効果を得ることができます(アニメーションなし)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top