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

时间:2010-02-25 19:34:35

标签: iphone objective-c subview flip

iPhone / Objective-C

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

viewHot viewCold 是子视图 viewMain 是主要视图。

这可能吗?

1 个答案:

答案 0 :(得分: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];
}