Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIPageViewController在删除最后一张照片时以错误的方向显示动画_Ios_Animation_Uipageviewcontroller_Photo Gallery - Fatal编程技术网

Ios UIPageViewController在删除最后一张照片时以错误的方向显示动画

Ios UIPageViewController在删除最后一张照片时以错误的方向显示动画,ios,animation,uipageviewcontroller,photo-gallery,Ios,Animation,Uipageviewcontroller,Photo Gallery,我正在使用带有转换样式滑动的UIPageViewController来实现一个照片库。当用户浏览照片时,她可以删除一张照片,在这种情况下,图库将转到下一张照片以及动画。这正如预期的那样有效 如果最后一张照片被删除,我们将转到已删除照片之前的照片。这也像预期的那样工作,但动画是错误的-它看起来好像我们要到下一张照片 我的代码是: let photo = (viewControllers!.first as! SinglePhotoController).photo var nextPhoto =

我正在使用带有转换样式滑动的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)
}
delete()是一个删除照片并调用主线程回调的方法

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


这在iOS 10上。

删除最后一张照片时,只需使用方向:。反转即可

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