如何使用自定义转换ios7制作uiview全屏视图控制器

我想要实现的是:在点击一些带有一些数据的小视图后,我想让它全屏显示,并可能使它成为一个新的vc。

现在我将uiview动画制作成全屏,但是这个视图的整体逻辑在于它的“父”。

是否有可能从类似的uiview中为viewcontroller设置动画(例如,类似于Android SDK中的LayoutTransitions)?

使用autolayout将我的uiview示例代码全屏显示:

sender.view.transform = CGAffineTransformIdentity; [UIView animateWithDuration:0.2 animations:^{ sender.view.frame = self.view.window.bounds; } completion:^(BOOL finished) { [((CSTicketView*)sender.view) showMenu]; }]; [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade]; [[self navigationController] setNavigationBarHidden:YES animated:YES]; 

绝对可能。 您可以在iOS7中使用新的视图控制器转换模型。 我肯定会推荐一些资源来检查我的基本解释:

  • 这个
  • 而且这个
  • 我在这里有一些演示器的示例代码

最终,您为要转换的视图创建一个新的视图控制器,并且还创建一个符合UIViewControllerAnimatedTransitioning的NSObject子类,其中包含要在它们之间进行转换的代码。 听起来很复杂,但是如果你观看我链接的video并阅读其他参考资料,那将是完全有道理的。

让我们将您的发件人视图移动到Window,如下所示,

 AppDelegate * appDelegate = (AppDelegate *) [[UIApplication sharedApplication] delegate]; [appDelegate.window addSubview:sender.view]; [UIView animateWithDuration:0.2 animations:^{ sender.view.frame = self.view.window.bounds; } completion:^(BOOL finished) { [((CSTicketView*)sender.view) showMenu]; }];