私は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最後の写真を削除するとき:
この
ちょうど方向を使用