iPhone子视图在2个视图之间翻转

Ian*_*ink 10 iphone objective-c subview flip

iPhone/Objective-C

在我的视图中,用户单击主视图上的按钮后会出现一个小"悬停"视图.当用户单击此子视图时,我希望子视图FlipFromRight到另一个视图(相同大小).下面的主视图应该保留.

viewHotviewCold是子视图viewMain是主要视图.

这可能吗?

小智 22

在viewMain中创建另一个名为viewHover的空视图,并将其放置在您希望显示悬停视图的位置.然后在IB中添加viewHot或viewCold(不是两者)作为viewHover的子视图.

然后调用这样的方法来翻转视图:

-(void)flipViews
{
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:1.0];  
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:viewHover cache:YES];

    if ([viewHot superview])
    {
        [viewHot removeFromSuperview];
        [viewHover addSubview:viewCold];
        [viewHover sendSubviewToBack:viewHot];
    }
    else
    {
        [viewCold removeFromSuperview];
        [viewHover addSubview:viewHot];
        [viewHover sendSubviewToBack:viewCold];
    }

    [UIView commitAnimations];
}
Run Code Online (Sandbox Code Playgroud)

  • 只是一个FYI,使用新的动画块动画可以是一行的:[UIView transitionFromView:viewHot toView:viewCold duration:1.f options:UIViewAnimationOptionTransitionFlipFromLeft completion:nil]; (8认同)
  • 这段代码帮助我呈现了一个小模态视图.谢谢. (2认同)