MaskZoomTransition 0.1

MaskZoomTransition 0.1

测试测试过
语言语言 Obj-CObjective C
许可证 MIT
发布日期最后发布2016年2月

Stephanie Sharp维护。



  • GitHub仓库
  • 在CocoaPods.org上的页面

一种Material Design风格的过渡效果,灵感来自Dmytro Prudnikov的这个动画

定义

smallView

要过渡的展示视图控制器中的小视图。

largeView

要过渡到的展示视图控制器中的大视图。

viewsToFadeIn

在过渡结束时淡入的展示视图控制器中的视图。(可选)

用法

在展示视图控制器中,初始化过渡代理属性

self.transitioningDelegate = [MZMaskZoomTransitioningDelegate new];

在`prepareForSegue:sender:`中分配smallViewtransitioningDelegate

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
  self.transitioningDelegate.smallView = sender; // The view you are transitioning from.
  ...
  segue.destinationViewController.transitioningDelegate = self.transitioningDelegate;
  segue.destinationViewController.modalPresentationStyle = UIModalPresentationCustom;
}

在展示视图控制器中实现MZMaskZoomTransitionPresentedViewController协议

@synthesize largeView, viewsToFadeIn;

- (NSArray *)viewsToFadeIn
{
  return @[self.label1, self.label2, self.label3]; // Any views you want to fade in at the end of the transition.
}

- (UIView *)largeView
{
  return self.someLargeView; // The view you are transitioning to.
}

其他选项

duration

默认持续时间是0.25秒。

presenting

默认为YES。当销毁视图控制器时设置为NO(见MZMaskZoomTransitioningDelegate)。

dismissToZeroSize

默认为NO。如果想要销毁过渡将视图缩小到0,则设置为YES。这在smallView在展示视图控制器中不再可见时很有用(例如,项目已删除)。

安装

致谢

许可证

MaskZoomTransition 在MIT许可证下发布。有关详细信息,请参阅LICENSE文件。