【问题标题】:UIPageViewController shows an animation in the wrong direction when deleting the last photoUIPageViewController 删除最后一张照片时显示方向错误的动画
【发布时间】:2017-03-29 13:06:43
【问题描述】:

我正在使用带有过渡样式滑动的 UIPageViewController 来实现照片库。当用户在照片中滑动时,她可以删除单张照片,在这种情况下,画廊会转到下一张照片以及动画。这按预期工作。

如果最后一张照片被删除,我们会转到删除之前的照片。这也按预期工作,但动画是错误的 - 看起来好像我们要去下一张照片。

我的代码是:

let photo = (viewControllers!.first as! SinglePhotoController).photo
var nextPhoto = Photo.after(photo: photo)
if nextPhoto == nil {
  nextPhoto = Photo.before(photo: photo)
  print("You deleted the last photo, so showing previous photo")
}
photo.delete {
  let nextController = self.makeController(photo: nextPhoto!)
  self.setViewControllers([nextController], direction: .forward, animated: true)
}

photo.delete() 是删除照片并调用主线程回调的方法。

如何使用不同的动画调用 setViewControllers()?

这是在 iOS 10 上。

【问题讨论】:

    标签: ios animation uipageviewcontroller photo-gallery


    【解决方案1】:

    删除最后一张照片时只需使用方向:.reverse。

    这种效果是暂时的——一旦 setViewControllers() 触发的动画完成,它就不再有效果了。换句话说,导航的方向保持不变:如果你有 A、B 和 C,而你删除了 C,你最终会得到预期的 A 和 B,而不是 B 和 A。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多