我正在使用 Objective-C (显然,我猜),我想知道是否有一种(简单的)方法来呈现模态视图,但具有视图从屏幕右侧滑入。
UIModalTransitionStyleCoverVertical新的视图从底部滑入,所以我天真地认为会有一个水平对应的视图,但我在文档中找不到。
我不是说UIModalTransitionStyleFlipHorizontal(我不想要 3D 翻转)。
有没有另一种方法可以在没有 UINavigationController 负担的情况下做到这一点?想法?
TKS!
您可以通过将视图添加为子视图来做到这一点,但设置其变换,使其位于屏幕外,在您的情况下至少有一个屏幕宽度。然后启动一个动画块,其中包括将变换重置为统一。动画完成后,您可以执行其他操作,例如替换现在隐藏的视图。
这是一个片段:
[[outgoingView superview] insertSubview:incomingView aboveSubview:outgoingView];
incomingView.transform = [self affineTransformForTransationInDirection:BTRightDirection];
// Set up and start the animation
[UIView beginAnimations:@"cover" context:NULL];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:BTSCREEN_ANIMATION_TIME];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(coverIncomingViewConclusion:finished:context:)];
incomingView.transform = CGAffineTransformIdentity;
self.outgoingView = outgoingView; // Remember the outgoing view
[UIView commitAnimations];
affineTransformForTransationInDirection: 方法是一个帮助器,它知道屏幕的宽度和高度并返回适合该方向的变换。从左侧移入时会执行此操作:
CGAffineTransformMakeTranslation(-FHScreenWidth(), 0.0);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)