Je vois le même comportement et je suis d'accord que c'est loin d'être idéal.
Le problème fondamental ici est que le même UICollectionView
L'instance est partagée / passée entre les deux contrôleurs de vue. J'ai expérimenté en essayant de changer le délégué et l'ourlet de données du UICollectionView
mais a rencontré divers problèmes.
En fin de compte, la solution que j'ai fini par adopter était de faire du maître UICollectionViewController
un délégué du UINavigationController
, Implémentation:
– navigationController:willShowViewController:animated:
... en utilisant ceci pour changer un controllerMode
propriété, puis ajoutant des instructions de commutation à -collectionView:cellForItemAtIndexPath:
et -collectionView:didSelectItemAtIndexPath:
pour fournir le comportement requis dans le mode. J'ai également ajouté du code à -setControllerMode:
Pour effectuer les modifications d'état requises dans le contrôleur Master View.
J'espère que cela pourra aider!