use*_*146 5 iphone modal-dialog objective-c
我正在使用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];
Run Code Online (Sandbox Code Playgroud)
affineTransformForTransationInDirection: 方法是一个帮助器,它知道屏幕的宽度和高度并返回适合该方向的变换。从左侧移入时会执行此操作:
CGAffineTransformMakeTranslation(-FHScreenWidth(), 0.0);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3917 次 |
| 最近记录: |