1

こんにちは私は今viewcontrollerの向きに問題があります。以下は私の.hファイルです。

@interface IPad_HomeViewController : UIViewController <UINavigationControllerDelegate>{
    UIAlertView *alertWithYesNoButtons;
}
@property (weak, nonatomic) IBOutlet UILabel *lblStatus;

@end

次のメソッドを.mファイルに実装します。

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

次に、ブレークポイントを作成しました。私はshouldAutorotateToInterfaceOrientationが完全に呼び出されていないことに気づきました。なぜ呼び出されないのかわからない。

plsは私にアドバイスします。ありがとう

4

2 に答える 2

6

UINavigationControllerが呼び出しを処理するためだと思います。以下を実装して、viewControllerに送り返します。

- (BOOL)shouldAutorotate
{
    return [[self.viewControllers lastObject] shouldAutorotate];
}

- (NSUInteger)supportedInterfaceOrientations
{
    return [[self.viewControllers lastObject] supportedInterfaceOrientations];
}

// pre-iOS 6 support
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    return (toInterfaceOrientation == UIInterfaceOrientationPortrait);
}
于 2012-12-14T09:50:59.543 に答える
0

回転のサポートは、iOS5とiOS6の間で大きく変更されました。

プロジェクトのターゲットの概要ページに移動し、「iPhone/iPodの展開情報」と「サポートされているインターフェイスの向き」を確認します。デバイスのローテーションを有効にしましたか?

于 2012-12-20T10:09:01.990 に答える