Контроллер с вращающимся обзором - PullRequest
0 голосов
/ 11 апреля 2011

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

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 

{

// return YES;

return (interfaceOrientation == UIInterfaceOrientationPortrait);

}

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation

{

NSLog(@"didRotateFromInterfaceOrientation");

if(fromInterfaceOrientation == UIInterfaceOrientationPortrait || fromInterfaceOrientation== UIInterfaceOrientationPortraitUpsideDown)



{

        portraitMode = NO;

        for(int j=0;j<5;j++)
            [self unloadPage:j];

        [self loadLandScrollViewWithPage:pageInt-1];
        [self loadLandScrollViewWithPage:pageInt];
        [self loadLandScrollViewWithPage:pageInt+1];

        [fullSizeView setHidden:NO];

        CGRect frame = l_mageScrollView.frame;
        frame.origin.x = frame.size.width * pageInt;
        frame.origin.y = 0;
        [l_mageScrollView scrollRectToVisible:frame animated:YES];
    }
    else 
    {
        portraitMode = YES;

        [fullSizeView setHidden:YES];

        for(int j=0;j<5;j++)
            [self unloadPage:j];

        //[l_mageScrollView setHidden:NO];
        [self loadScrollViewWithPage:pageInt-1];
        [self loadScrollViewWithPage:pageInt];
        [self loadScrollViewWithPage:pageInt+1];

        CGRect frame = imageScrollView.frame;
        frame.origin.x = frame.size.width * pageInt;
        frame.origin.y = 0;
        [imageScrollView scrollRectToVisible:frame animated:YES];
    }
}

Ответы [ 3 ]

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

Если вы добавили этот дочерний контроллер представления как вспомогательное представление, то эти методы не будут вызываться.

Это единственный вызов в родительском представлении (rootview).

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

Когда вы return (interfaceOrientation == UIInterfaceOrientationPortrait);, вы говорите контроллеру вида, что он никогда не должен поворачиваться ни в какую ориентацию, кроме портрета.Если вы хотите, чтобы он вращался во всех направлениях, верните YES из shouldAutorotateToInterfaceOrientation:

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

Если вы добавили этот дочерний контроллер представления как вспомогательное представление, то эти методы не будут вызываться.Но эти UIViewController методы будут вызываться в родительском контроллере представления

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...