2017-03-29 5 views
0

私は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最後の写真を削除するとき:

この

ちょうど方向を使用

答えて

0

iOSの10です。

この効果は一時的です。setViewControllers()によってトリガーされたアニメーションが完了すると、もはや効果はありません。言い換えれば、ナビゲーションの方向は変わりません。あなたがA、B、Cを持っていてCを削除すると、AとBはBとAではなく、意図どおりになります。

関連する問題