При возврате из горизонтального положения происходит сбой приложения iPhone - PullRequest
0 голосов
/ 15 сентября 2009

Вот моя проблема: - У меня есть один navcontroller и внутри него один контроллер табуляции с 4 контроллерами представления. - Я хочу добавить следующие функциональные возможности: - В landscapeRight отключить navcontroller, контроллер вкладок и все остальное и загрузить новый контроллер - все идет нормально, вот код:

- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
    // Just delete the lines for the orientations you don't want to support
    if(toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft) {
            [appDelegate ToHorizontalAverageResponseView:self];
    }
    return YES;
}

Вот код в делегате приложения:

- (void)ToHorizontalAverageResponseView:(id)sender
{
    HorizontalResponseViewController *tempController = [[HorizontalResponseViewController alloc] initWithNibName:nil bundle:nil];
    [self setHorizontalResponseViewController: tempController];
    [tempController release];
    //[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeRight;
    // View rotation transformation
    CGAffineTransform landscapeTransform = CGAffineTransformMakeRotation( M_PI * 90.0 / 180.0 );
    [[horizontalResponseViewController view] setTransform:landscapeTransform];

    [window addSubview:[horizontalResponseViewController view]];
}

Вопрос в том, как перевести обратно в портретную ориентацию и все эти контроллеры панели навигации и вкладки?

Thx, Младен

1 Ответ

0 голосов
/ 16 сентября 2009

Звучит так, будто вы пытаетесь построить что-то похожее на переход iPod-CoverFlow. Вопрос (о том, как создать эффект прикрытия) был задан в лекции Стэнфорда CS193P, и ответ подсказал в следующем направлении:

Если вы можете позволить себе перерасход памяти, лучше всего добавить новый ландшафтный вид поверх всех портретных видов (не отбрасывая их, как вы предлагаете). Затем пользователь взаимодействует с этим альбомным видом по желанию, пока не вернется к портрету. Все это время портретные виды спокойно оставались на заднем плане.

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