currentViewControllerがポップされたら、mainViewController
のUICollectionView
をcurrentViewControllerの現在の項目のインデックスにスクロールします。私はcurrentViewControllerのviewWillDisappear
でこれを実装しようとしましたが、back button
アクションが実行されたときに何も起こりません。ボタンアクションを実行した後のUICollectionView scrollToItemAtIndex
0
A
答えて
1
あなたはこのようなのViewController何かが動作するはずをポップが、を却下ないので:
childVCのviewWillDisappear
のすべてをwrittigことをたくさんより管理されたプロトコルを作成してしまった override func viewWillDisappear(animated: Bool) {
if let mainViewController = navigationController?.topViewController as? MainViewController {
mainViewController.collectionView?.scrollToItemAtIndexPath(NSIndexPath(forItem: currentIndex, inSection: 0), atScrollPosition: .CenteredVertically, animated: false)
}
super.viewWillDisappear(animated)
}
0
現在のViewControllerが終了すると、mainViewControllerのViewWillAppearが呼び出されます。 mainVCは、他のソースからの打ち上げだったときここでは、viewwillappearがcurrentVCから呼び出されたことを条件チェックでscrollToItemAtIndexPathを実装することができません却下されました。
0
。ご提案ありがとうございましたAndré Slotta
protocol CurrentIndexDelegate{
func setCurrentIndex(index: Int?)
}
class ChildViewController: UIViewController{
var currentIndexDelegate : CurrentIndexDelegate? = nil
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
if currentIndexDelegate != nil {
currentIndexDelegate!.setCurrentIndex(currentIndex)
}
}
}
class MainViewController: UIViewController, CurrentIndexDelegate{
var currentIndex: Int?
func setCurrentIndex(index: Int?){
currentIndex = index!
}
override func viewWillAppear(animated: Bool) {
//Current index is set from delegate
if(currentIndex != nil){
collectionView?.scrollToItemAtIndexPath(NSIndexPath(forItem: currentIndex!, inSection: 0), atScrollPosition: .Top, animated: true)
}
}
}
関連する問題
- 1. ios - UICollectionViewレイアウト最後の行
- 2. 変数の周波数でボタンアクションを実行します。
- 3. Xamarin iOS UICollectionViewをスワイプした後にセンタリング
- 4. UICollectionViewの最後の行を整列します
- 5. motionEndedでボタンアクションを実行する方法は?
- 6. 遅延したmysqlクエリを実行した後、一括実行
- 7. Excelを実行した後、オートキャストで動作するマクロを実行した後で、カラムを削除した後
- 8. 他のjavascriptをWordPressで実行した後にjavascriptを実行
- 9. remove_if()を実行した後の消去()
- 10. ビルドを実行した後のVSTSオンラインストレージアクセス
- 11. ProcessBuilderを実行した後のloadプロパティ
- 12. シェルスクリプト:シェルスクリプトでexitコマンドを実行した後でコマンドを実行
- 13. 'n'回実行した後の定期的なジョブの実行
- 14. indexpathを移動した後、UITableviewCell内のUICollectionView
- 15. ボタンアクションのアプリケーションをフリーズ
- 16. UIAlertViewボタンアクション?
- 17. LTK、ボタンアクション
- 18. スクロールしてセルを選択した後にUICollectionViewがクラッシュする
- 19. がそれを実行した後sklearn
- 20. 子を実行した後にErlangスーパーバイザシャットダウン
- 21. はネイティブ実行した後、フォルダのサイズ
- 22. カスタムリストビューのOnClickボタンアクション
- 23. Swift UICollectionViewデリゲートはセグを実行します
- 24. C#の実行が完了したがスレッドの実行が完了した後
- 25. マイアプリのクラッシュと次のコード行を実行した後に「NSUnknownKeyException」
- 26. 404エラーが - 実行した後
- 27. 偽を返した後にJavaScriptの実行が続行する
- 28. アンドロイドWifiManagerスレッドは、この行を実行した後
- 29. セレンのJavaスクリプトの実行/実行を継続した後のWindowsクラッシュ(BlueScreen)
- 30. ボタンアクションin UITableView Cell
これを試してみましたが、残念なことに結果は変わっていません。 – kye
あなたのプロジェクトをシェアしたいですか? –
確かに、私はgithubに数分でアップロードします。私はこのチャットルームhttp://chat.stackoverflow.com/rooms/106859/uicollectionview-scrolltoitematindex – kye