0

常に縦向きのiPhoneアプリがあります。しかし、テーブルを表示するにはビューを回転させる必要があります。ボタンはサブビューにあります。私はこのコードを持っています:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}

ただし、このビューはサブビューから呼び出されるため、インターフェイスの向きは無視されます。

インターフェイスの向きを変更する方法はありますか??

ありがとう!

4

2 に答える 2

0

次のことを試しましたか?

[UIApplication sharedApplication] .statusBarOrientation = UIInterfaceOrientationLandscapeRight;

于 2013-01-11T13:43:21.890 に答える
0

回転させたいビューに変換を設定し、後で恒等変換に戻す必要があります。

これにより、縦向きと横向きが切り替わります...

 UIView* viewToTransform = self.newview;
    if (CGAffineTransformIsIdentity(viewToTransform.transform)) {
        CGAffineTransform transform = CGAffineTransformMakeRotation(M_PI/2);
        viewToTransform.transform = transform;

    }else{
        viewToTransform.transform = CGAffineTransformIdentity;
    }

さらに良いのは、既存の変換をプロパティに保存して、後でリセットできるようにすることです (これにより、元の変換が恒等変換でない場合に対処できます)。

于 2013-01-11T14:39:37.780 に答える