Estou vendo o mesmo comportamento e concordo que é menos do que o ideal.
A questão fundamental aqui é que o mesmo UICollectionView
A instância é compartilhada/passada entre os dois controladores de exibição. Eu experimentei de tentar mudar o delegado e a fonte de dados do UICollectionView
mas encontrou vários problemas.
No final, a solução que acabei adotando foi fazer o mestre UICollectionViewController
um delegado do UINavigationController
, implementando:
– navigationController:willShowViewController:animated:
... usando isso para mudar de controllerMode
propriedade e depois adicionar declarações de switch a -collectionView:cellForItemAtIndexPath:
e -collectionView:didSelectItemAtIndexPath:
para fornecer o comportamento necessário no modo. Eu também adicionei código para -setControllerMode:
Para fazer todas as alterações estaduais necessárias no controlador Master View.
Espero que ajude!