Переключение подпредставлений над основным видом - PullRequest
0 голосов
/ 10 июля 2009

Я пытаюсь создать подпредставление, которое находится над моим основным видом, примерно на 3/4 размера основного вида. Когда кнопка нажата, подпредставление должно перейти к другому подпредставлению. Я близко, но у меня две проблемы.

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

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

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

Вот мой код в контроллере основного вида:

- (void)viewDidLoad {

    Page1Controller *myPage1=[[Page1Controller alloc] initWithNibName:@"Page1Controller" bundle:nil];
    Page2Controller *myPage2=[[Page2Controller alloc] initWithNibName:@"Page2Controller" bundle:nil];
    self.page1 = myPage1;
    self.page2 = myPage2;
    [myPage1 release];
    [myPage2 release];
    [[page1 view] setFrame:CGRectMake(45, 40, 230, 280)];
    [[self view] addSubview:[page1 view]];

    [super viewDidLoad];
}

А вот код для двух кнопок:

- (void)flipPressed:(id)sender {
    [UIView beginAnimations:@"View Flip" context:nil];
    [UIView setAnimationDuration:1.5];
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:[page2 view] cache:YES];
    [page1.view removeFromSuperview];
    [[page2 view] setFrame:CGRectMake(45, 40, 230, 280)];
    [[self view] addSubview:[page2 view]];

    [UIView commitAnimations];

}

- (void)backFlipPressed:(id)sender {
    [UIView beginAnimations:@"View Flip" context:nil];
    [UIView setAnimationDuration:1.5];
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:[page1 view] cache:YES];
    [page2.view removeFromSuperview];
    [[self view] addSubview:[page1 view]];
    [[page1 view] setFrame:CGRectMake(45, 40, 230, 280)];

    [UIView commitAnimations];
}

Любая помощь по любому из моих вопросов очень ценится!

1 Ответ

0 голосов
/ 10 июля 2009

Первая проблема: установите рамки ваших представлений до beginAnimations.

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