Ios4 是否无法翻转viewControllers.view的子视图,并使用;“带视图的转换”;使用块

Ios4 是否无法翻转viewControllers.view的子视图,并使用;“带视图的转换”;使用块,ios4,uianimation,Ios4,Uianimation,我就是不能让它工作,我会认为它很简单,但没有运气 - (void) animate { UIView *viewA = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 300.0f, 100.0f)]; [viewA setBackgroundColor:[UIColor blueColor]]; UIView *viewB = [[UIView alloc] initWithFrame:CGRectMake(0

我就是不能让它工作,我会认为它很简单,但没有运气

- (void) animate {

    UIView *viewA = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 300.0f, 100.0f)];
    [viewA setBackgroundColor:[UIColor blueColor]];
    UIView *viewB = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 300.0f, 100.0f)];
    [viewB setBackgroundColor:[UIColor brownColor]];

    UIView *container = [[UIView alloc] initWithFrame:CGRectMake(10.0f, 10.0f, 300.0f, 100.0f)];
    [container addSubview:viewA];

    [self.view addSubview:container];

    [UIView transitionWithView:container
                      duration:0.4
                       options:UIViewAnimationOptionTransitionFlipFromLeft
                    animations:^{
                        [[[container subviews] objectAtIndex:0] removeFromSuperview];
                        [container addSubview:viewB];
                    }
                    completion:^(BOOL finished){

                    }];


}
文档建议您这样做,创建一个容器,添加/删除要在其中翻转的两个子视图

我不能让它工作。它将只显示viewA,然后显示viewB,就好像跳过了动画部分,但执行了块

如果我在
[UIView transitionWithView:container
self.view
中切换容器,它会翻转整个视图(如怀疑的那样),但我无法使用
self.view
的两个子视图来实现这一点

这是没有办法的吗

我希望能做一些类似iPad照片应用程序的事情,在这个应用程序中,图片将翻转并缩放到全屏


我真的希望有人能在这里帮助我,提前谢谢你。

你不能在块内放分号。如果你想在块内完成两件事,请用“,”分隔它们。 如果你想要的话,曲棍球也很不错

这应该行得通

[UIView transitionWithView:container
                  duration:0.4
                   options:UIViewAnimationOptionTransitionFlipFromLeft | UIViewAnimationOptionCurveEaseInOut
                animations:^{
                    [[[container subviews] objectAtIndex:0] removeFromSuperview],
                    [container addSubview:viewB];
                }
                completion:^(BOOL finished){

                }];

如果没有,请考虑视图实例变量,并确保在尝试动画之前分配它们。如果要在按钮推送上动画,则可以直接用发送器进行,如果整个视图是UBITCON。


我希望这会有帮助。

你不能在块内放分号。如果你想在块内完成两件事,请用“,”将它们分开。 如果你想要的话,曲棍球也很不错

这应该行得通

[UIView transitionWithView:container
                  duration:0.4
                   options:UIViewAnimationOptionTransitionFlipFromLeft | UIViewAnimationOptionCurveEaseInOut
                animations:^{
                    [[[container subviews] objectAtIndex:0] removeFromSuperview],
                    [container addSubview:viewB];
                }
                completion:^(BOOL finished){

                }];

如果没有,请考虑视图实例变量,并确保在尝试动画之前分配它们。如果要在按钮推送上动画,则可以直接用发送器进行,如果整个视图是UBITCON。


我希望这会有帮助。

是的,就是这样!分号。这在文件中并不清楚。谢谢Nicki!不客气。我第一次偶然发现它时,在我发现逗号之前,我勃然大怒了好长一段时间。很高兴我可以省去你同样的痛苦。:你敢肯定分号是问题所在吗?我现在使用分号的正是时候同样的方法,在苹果公司的文档中,他们使用分号,一切都很完美。嗯,奇怪。我不记得从哪里找到逗号而不是分号,但它为我解决了问题。也许他们改变了它?使用分号。奇怪。对我来说,它甚至不会生成。你从哪里得到的?当然是你可以在块内放置分号。请编辑您的帖子。是的,就是这样!分号。这在文档中不清楚。谢谢Nicki!不客气。我第一次偶然发现它时,在我发现逗号之前,我勃然大怒了好长一段时间。很高兴我能让您免于同样的痛苦。你敢肯定分号是问题吗?我很抱歉我现在用的是完全相同的方法,而且在苹果的文档中,他们使用分号,一切都很完美。嗯,奇怪。我不记得我在哪里找到逗号而不是分号,但它为我修复了它。也许他们改变了它?使用分号。奇怪。对我来说,它甚至不会构建。在哪里你是从哪里得到这个的?当然你可以在块内放分号。请编辑你的帖子。