作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 objective-c(显然,我猜)我想知道是否有一种(简单的)方法来呈现模态视图但让 View 从屏幕右侧滑入.
UIModalTransitionStyleCoverVertical 有新的 View 从底部滑入,所以我天真地认为会有一个水平的对应物,但我在文档中找不到。
我不是说 UIModalTransitionStyleFlipHorizontal(我不想要 3D 翻转)。
没有 UINavigationController 的包袱,还有另一种方法可以做到这一点吗?想法?
谢谢!
最佳答案
您可以通过将 View 添加为 subview 来完成此操作,但设置其变换以使其位于屏幕外,在您的情况下至少为一个屏幕宽度。然后启动一个动画 block ,其中包括将变换重置为统一。动画完成后,您可以执行其他操作,例如替换现在隐藏的 View 。
这是一个片段:
[[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);
关于iphone - 有没有办法执行 UIModalTransitionStyleCoverHORIZONTAL(不是 FlipHorizontal)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1872076/
我正在使用 objective-c(显然,我猜)我想知道是否有一种(简单的)方法来呈现模态视图但让 View 从屏幕右侧滑入. UIModalTransitionStyleCoverVertical
我是一名优秀的程序员,十分优秀!