【问题标题】:Slide from left (or right) animation transaction for UIViewUIView 从左(或右)动画事务滑动
【发布时间】:2012-05-14 18:57:58
【问题描述】:

我想用我的 UIView 制作从左(或右)滑动动画,就像在 Photos.app 中通过左右滑动浏览完整的照片一样。

我知道以下基本动画交易代码。

[UIView beginAnimations:@"ThisAnimation" context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
[UIView setAnimationDuration:1];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES];    

[UIView commitAnimations];

是否可以使用 setAnimationTransaction 从左(或右)动画进行滑动?如果没有,我该怎么办?

【问题讨论】:

  • 如果您想复制照片应用程序的行为,您可能需要使用带有scrollView.pagingEnabled = YES 的 UIScrollView。这样,一旦您开始拖动图像,您就会得到即时反馈。使用过渡将要求用户在触发过渡之前完成整个滑动手势。

标签: objective-c ios5 uiview uiviewanimation


【解决方案1】:

除了其他答案,你可以find a cool tutorial here,教程末尾有项目链接,你可以看看。

这是一个自动幻灯片,但您可以通过注释定义 NSTimer 的行来禁用它。此外,您应该在viewDidLoad 中添加下一行以获得更好的用户体验:

scr.pagingEnabled = YES;

希望对你有帮助

【讨论】:

    【解决方案2】:

    我认为您所追求的是启用分页的滚动视图作为包含每张照片的子视图的主视图。启用分页后(此布尔属性的默认值为NO),视图将始终“捕捉”到其边界的倍数,因此用户始终位于滚动视图的一个部分或另一个部分(如在照片中,或在主屏幕上)。

    您可以将UIScrollViewpagingEnabled 属性设置为true 以获得此效果。然后,您将始终一次显示多个 UIScrollView 的边界(您可以用照片视图填充,例如 UIImageView)。

    【讨论】:

      【解决方案3】:

      在您的滑动处理程序中为您的视图编写以下代码:

      let transition = CATransition()
      transition.type = CATransitionType.push
      
      transition.subtype = CATransitionSubtype.fromRight //In Left  swipe method
      
      transition.subtype = CATransitionSubtype.fromLeft //In Right  swipe method
      
      self.view.layer.add(transition, forKey: nil)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-11-28
        • 1970-01-01
        • 2011-07-06
        • 1970-01-01
        • 1970-01-01
        • 2021-07-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多