IPad UINavigationController Пейзажная проблема - PullRequest
3 голосов
/ 08 июля 2011

У меня проблема с представлением UINavigationViewController в ландшафтном режиме.Вид автоматически поворачивается в портретный режим.Я уже потратил около 3 часов на решение этих вопросов.Это работает нормально, если я представляю без контроллера навигации.Но мне нужен навигационный контроллер, потому что я должен вытолкнуть другой контроллер вида из этого.

Пожалуйста, предложите что-нибудь, чтобы решить проблему.Вот код.

SharingViewController *sharingViewController = [[SharingViewController alloc] initWithNibName:@"SharingViewController" bundle:nil];

    UINavigationController *navi = [[[UINavigationController alloc] initWithRootViewController:sharingViewController] autorelease];

    [navi setWantsFullScreenLayout:YES];
    [navi.view setAutoresizesSubviews:NO];
    [navi.navigationBar setHidden:YES];
    navi.view.autoresizingMask = UIViewAutoresizingFlexibleWidth;
    navi.visibleViewController.view.autoresizingMask = UIViewAutoresizingFlexibleWidth;

    self.modalPresentationStyle = UIModalPresentationCurrentContext;
    [self presentModalViewController:navi animated:YES];

1 Ответ

1 голос
/ 19 марта 2012

Если вы сделаете это:

SharingViewController *sharingViewController = [[SharingViewController alloc] initWithNibName:@"SharingViewController" bundle:nil];
sharingViewController.modalPresentationStyle = UIModalPresentationCurrentContext;

UINavigationController *navi = [[[UINavigationController alloc] initWithRootViewController:sharingViewController] autorelease];
navi.modalPresentationStyle = UIModalPresentationCurrentContext;
...

[[self navigationController] presentModalViewController:navi animated:YES];

это должно работать. У меня была такая же проблема, но когда я добавил свойство modalPresentationStyle в viewController и UINavigationController, оно начало работать.

...