Перевернутая проблема ориентации в iOS6

Я создаю образец пустого приложения и добавил класс UIViewController,

Ниже приведен код в приложении Delgate

TestViewController* viewController  = [[TestViewController alloc] initWithNibName:@"TestViewController" bundle:nil];

UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:viewController];

[self.window setRootViewController:navController];

Сейчас я вращаю приложение, но в навигационной панели UPsidedown Orientation не вращается. Я прикрепляю снимок экрана

введите описание изображения здесь

Затем добавлен метод ниже в делегат приложения

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{


    return UIInterfaceOrientationMaskAll;
}

И в классе я добавил следующие методы

-(BOOL)shouldAutorotate
{
    return YES;
}

- (NSUInteger)supportedInterfaceOrientations
{
    return (UIInterfaceOrientationMaskAll);
}

В Резюме я активировал все ориентации, может ли кто-нибудь сказать мне Решение для этого

4 ответа

1) Просто вы создали категорию для класса UINavigationController и я определил эти методы

В CustomViewController.h

#import <UIKit/UIKit.h>

@interface CustomViewController : UINavigationController

@end

В CustomViewController.m

#import "CustomViewController.h"

@interface CustomViewController ()

@end

@implementation CustomViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

-(BOOL) shouldAutorotate{
    return YES;
}

-(NSUInteger) supportedInterfaceOrientations{

    return UIInterfaceOrientationMaskAll;
}

И файл AppDelgate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

     self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];

    CustomViewController *navController = [[CustomViewController alloc] initWithRootViewController:self.viewController];
    // Override point for customization after application launch.

    self.window.rootViewController = navController;
    [self.window makeKeyAndVisible];
    return YES;
}

2) И проверьте ориентацию в цели введите описание изображения здесь

3) Измените класс с UINavigationController на CustomViewController в моем XIB в IB

4) Перезагрузите симулятор и запустите код, думаю, ваша проблема будет решена.

Перевернутая кнопка для включения в Supported interface orientations на XCode

http://www.appcoda.com/ios-game-tutorial-maze-part-1/

Я думаю, что вам нужно использовать

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

вместо mustAutorotate

`TestViewController * viewController = [[TestViewController alloc] initWithNibName: @" TestViewController "bundle: nil];

[self.window setRootViewController: viewController]; `

удалите панель навигации из appdelegate и затем проверьте

Другие вопросы по тегам