我的屏幕上已经有一个 UIView,我希望根据我检测到的滑动手势从四个方向(左、右、上、下)之一“滑入”一个新的 UIView。获取 swipegesture 信息已经完成并且不是问题,但是现在,让我们说如果我向左滑动,那么我希望另一个 UIView 实例从右侧“滑入”。
具体来说,当新的 UIView 从右侧滑入时,旧的 UIView 开始向左滑出视图,直到完全滑出视图。换句话说,我希望你可以在动画期间看到两个 UIView,直到原始 UIView 不再可见。在您的 iPad 上可以看到相同类型的效果,例如,当您在主屏幕上并向左滑动时 - 当您的主屏幕滑出视图时,它会从右侧滑入另一个应用程序图标屏幕左边。我想要实现的唯一警告是,您不能在中途停止过渡。
无论如何,这是我到目前为止的代码 - 我认为我很接近但想获得一些帮助,也许可以完成我需要在这里完成的事情:
UIView *newView = [[UIView alloc] init];
newView.frame = CGRectMake(0, 0, TileView.frame.size.width, TileView.frame.size.height);
[TileView addSubView:view];
CATransition *transitionAnimation = [CATransition animation];
[transitionAnimation setDuration:1];
[transitionAnimation setType:kCATransitionPush];
[transitionAnimation setSubtype:kCATransitionFromRight];
[transitionAnimation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
UIView TileView 是我的 viewController 的子视图。是否需要为 newView 进行任何其他设置以使所有内容与屏幕位置相匹配?我认为KCATransitionPush 是我正在寻找但不是 100% 确定的动画类型。
对我在这里缺少的任何帮助都会有所帮助。