2

正在将我的应用程序移至 IOS7,但我遇到了 uiviewanimation 问题。

在 IOS7 中一切正常,但是当我使用 uiviewanimation 在两个视图之间“翻转”时,视图在转换过程中看起来不对,但之后就好了。它更高,并且视图底部的一部分被剪裁了。见附图。

动画完成后,视图“跳”到正确位置。我很茫然...

我用来翻转视图的代码是:

newView = [[LocationCrudViewController alloc] initWithNibName:THE_VIEW bundle:nil];
.....    
[UIView transitionWithView:self.window duration:0.5
                           options:UIViewAnimationOptionTransitionFlipFromRight
                        animations:^ { self.window.rootViewController = newView; }
                        completion:nil];

值得注意的一点 - 我曾经这样做:

self.window addSubview:currentViewController.view];

作为视图动画,并且有效,但是我收到警告消息,应用程序窗口在应用程序启动结束时应该有一个根视图控制器,所以我切换到上面的代码,它在 IOS7 中也可以正常工作。

我真的希望有人可以在这里提供帮助。

在此处输入图像描述

4

1 回答 1

0

对于那些感兴趣的人,这就是我最终做的事情:

我的视图是按正常定义的(对我而言),不需要 ios6/7 增量,在带有关联控制器的笔尖中。

我创建了一个“虚拟”视图,它占据了整个屏幕但没有内容。

在我的应用程序委托中,我创建了我的虚拟视图并将其设置为 root:

self.root = [[RootViewController alloc] initWithNibName:ROOT_VIEW_CONTROLLER bundle:nil];
self.window.rootViewController = root;

然后我可以添加和删除我认为合适的子视图,如下所示:

[currentViewController.view removeFromSuperview];
UIView transitionWithView:self.window duration:0.5
                           options:UIViewAnimationOptionTransitionFlipFromRight
                        animations:^ {
                            [self.window addSubview:newViewController.view]; }
                        completion:nil];

这很好用,它使我的视图在 IOS6 和 IOS7 的状态栏下,就像我想要的那样。

希望这可以帮助某人。

于 2013-10-15T11:10:35.403 回答