Вид UINavigationController не заполняет экран - PullRequest
0 голосов
/ 11 апреля 2011

Когда я использую UINavigationController и помещаю его поверх моего представления cocos2d (по умолчанию все в альбомной ориентации), оно не занимает весь экран. Размер в основном такой, как если бы он был в портретном режиме. Я часами пытался уладить это, и это сводило меня с ума. Есть идеи?

Мне удалось заставить это работать только с помощью контроллера uiview и просмотра, установив кадр в полный размер.

UIView* view = [[CCDirector sharedDirector] openGLView];

    sssRootViewController *rooviewController = [[[sssRootViewController alloc]init]autorelease];

        [[CCDirector sharedDirector] pause];
    StarTravelAppDelegate *appDelegate = (StarTravelAppDelegate *)[[UIApplication sharedApplication] delegate];

    rooviewController.view.frame =  CGRectMake(0,0,480,320);

    UINavigationController *navcontrol = appDelegate.myNavController;

     UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:rooviewController];
    navcontrol.view.frame = CGRectMake(0,0,480,320);
    [view addSubview:navigationController.view];

    navcontrol.wantsFullScreenLayout = true;
[view addSubview: navcontrol.view];

Ответы [ 3 ]

0 голосов
/ 11 апреля 2011

вы можете попытаться изменить размер панели навигации этим методом,

  - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
        // Overriden to allow any orientation.
        if (interfaceOrientation==UIInterfaceOrientationLandscapeLeft || interfaceOrientation==UIInterfaceOrientationLandscapeRight) {
            // root view
                self.view.frame = CGRectMake(0, 0, 480,320);    
                self.navigationBar.frame= CGRectMake(0, 175, 480,44);               

        } else {
            // root view
            self.view.frame = CGRectMake(0, 0, 320,480);    
            self.navigationBar.frame= CGRectMake(0, 175, 320,44);                           
        }

        return YES;
    }

играть с этим надеюсь, это поможет удачи

0 голосов
/ 11 апреля 2011

Вы пытались установить свойство фрейма на

[[UIScreen mainScreen] applicationFrame];
0 голосов
/ 11 апреля 2011

Сначала добавьте UIWindow в ваше приложение, а затем добавьте контроллер навигации в это окно.

...