Safari使用选项卡式网页执行此操作。 AppStore(3.0)使用应用程序的预览图像执行此操作。视图水平滚动并锁定在每个视图的中心。 知道怎么做到这一点吗?
答案 0 :(得分:6)
你需要:
如果用户向左滚动 - 您具有相同的视图层次结构,但现在滚动视图显示L而不是C,因为contentoffset为0,scrolloffset为0.您现在应该重置所有内容,以便您拥有XLC并且滚动偏移为320 - 如果用户想要再次向左滚动。换句话说,C成为新的R,L成为新的C,如果用户再次向左滚动,则X是要显示的新内容。
要覆盖的方法是:
(void)scrollViewDidEndDecelerating:(UIScrollView*)scrollView
答案 1 :(得分:0)
我会使用类型为kCATransitionPush的CATransition来执行此操作。
CATransition *animation = [CATransition animation];
[animation setType:kCATransitionPush];
[animation setSubtype:kCATransitionFromRight]; //or ...FromLeft, as the case may be
到目前为止,我已经使用CATransitions获得了比使用其他技术更好的性能,但这可能取决于几个因素。
在Apple的示例代码中查看TransitionView类,了解如何构建转换视图的示例。有了这门课,你可以这样做:
- (void)replaceSubview:(UIView *)oldView withSubview:(UIView *)newView transition:(NSString *)transition direction:(NSString *)direction duration:(NSTimeInterval)duration;