Новичок: приложение Multiview неправильно переключает представления - PullRequest
0 голосов
/ 29 февраля 2012

Я написал простое приложение с двумя представлениями, которое переключается с одного вида на другой при каждом нажатии кнопки.

Но по какой-то причине, когда я запускаю его на симуляторе, оба представления всегда находятся на несколько пикселей выше представления MainWindow.xib, всегда над ним. И что странно, что при переключении между режимами просмотра анимация отсутствует.

В чем проблема ???

Это то, что у меня есть в моем AppDelegate.m

-(void)switchView:(UIView *)view1 toView:(UIView *)view2{

    [UIView beginAnimations:@"Animation" context:nil];
    [UIView setAnimationDuration:1.75];
    [UIView setAnimationTransition:UIViewAnimationOptionTransitionFlipFromLeft forView:self.window cache:YES];
    [view1 removeFromSuperview];
    [window addSubview:view2];
    [UIView commitAnimations];
}

Ответы [ 3 ]

0 голосов
/ 29 февраля 2012
     Can you post some code regarding this .Because if you click on Segment change 
it will change the Views.IF you take two views on same interface Builder.
        Try out this

    IBOutlet UIView *viewA;
    IBOutlet UIView *viewB;

    in .m file 



-(IBAction)SegmentChange
{
    if(segment.selectedSegmentIndex==0)
    {
        viewA.hidden=NO;
        viewB.hidden=YES;


    }

    else if(segment.selectedSegmentIndex==1)
    {
        [self.View addSubview:viewB];
        viewA.hidden=YES;
        viewB.hidden=NO;

    }

}
0 голосов
/ 29 февраля 2012

Привет Попробуйте это,

 -(void)switchView:(UIView *)view1 toView:(UIView *)view2
    {
        view2.frame = self.window.bounds;
        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationDelegate:self];
        [UIView setAnimationDuration:0.5f];
        [UIView setAnimationBeginsFromCurrentState:YES];
        [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:view2 cache:NO];
        [view1 removeFromSuperview];
        [window addSubview:view2];
        [UIView commitAnimations];
    }

Также попробуйте это

[UIView transitionWithView:view2 duration:0.5
        options:UIViewAnimationTransitionFlipFromLeft //change to whatever animation you like
        animations:^ { [window addSubview:view2]; }
        completion:nil];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...