【问题标题】:iPhone subview flip between 2 viewsiPhone子视图在2个视图之间翻转
【发布时间】:2010-02-25 19:34:34
【问题描述】:

iPhone/Objective-C

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

viewHotviewCold 是子视图 viewMain 是主要的。

这可能吗?

【问题讨论】:

  • 我使用了以下代码..它工作正常..但有一个问题..我在 viewHot 中有一个 tableView。当“else”部分被执行时 viewHot 出现。但是coldView仍然在viewHot后面,所以当我将tableView滚动到最大值或最小值时,会看到coldView..有什么猜测吗?
  • 我试过 removeFromSuperView , hidden = YES 等但没有运气.. !!!

标签: iphone objective-c subview flip


【解决方案1】:

在 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];
}

【讨论】:

  • 这段代码帮助我展示了一个小的模态视图。谢谢。
  • 仅供参考,使用新的动画块,动画可以是单行的:[UIView transitionFromView:viewHot toView:viewCold duration:1.f options:UIViewAnimationOptionTransitionFlipFromLeft completion:nil];
猜你喜欢
  • 2010-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-08
  • 1970-01-01
  • 2013-12-13
  • 1970-01-01
相关资源
最近更新 更多