Вращающаяся проблема UIViewController - PullRequest
0 голосов
/ 02 июля 2011

У меня есть следующий код для отображения UIViewController в горизонтальной ориентации поверх UITableViewController.

  -(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {

    if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
        toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) {
        [self.view addSubview:landscapeChartViewController.view];
    }

    if (toInterfaceOrientation == UIInterfaceOrientationPortrait ||
        toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) {
        if(landscapeChartViewController != nil)
            [landscapeChartViewController.view removeFromSuperview];
    }
}

Когда телефон вращается, изображение не занимает весь экран.

Пользователь также может прокручивать, показывая остальную часть UITableViewController. Я не хочу, чтобы UITableViewController был там в горизонтальной ориентации.

Ответы [ 2 ]

1 голос
/ 02 июля 2011

Попробуйте [self.view addSubview:landscapeChartViewController.view];

Если вы правильно установили свои кадры, это должно быть то, что вы ищете.

0 голосов
/ 02 июля 2011

landscapeChartViewController.view.frame = self.view.bounds, возможно?

Также имейте в виду, что изменение ориентации может произойти "в фоновом режиме", если вы используете контроллер панели вкладок, поэтому вы также можете проверить текущую ориентациюв -viewWillAppear:.

...