전이 스타일 스 와이프로 UIPageViewController를 사용하여 사진 갤러리를 구현하고 있습니다. 사용자가 사진을 스 와이프하면 개별 사진을 삭제할 수 있습니다.이 경우 갤러리는 애니메이션과 함께 다음 사진으로 이동합니다. 이것은 예상대로 작동합니다.마지막 사진을 삭제할 때 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()를 호출하려면 어떻게해야합니까? .reverse 마지막 사진을 삭제하는 경우 :
이
그냥 방향을 사용