Ho un UITableViewController incorporato in un UINavigationController e sto cercando di implementare Peek & Pop in TableView. Ho la parte "peek" che funziona perfettamente, ma quando provo a "pop" nel prossimo ViewController, la cella che ho "sbircia" e la cella successiva sono mostrate entrambe. Sto "scoppiando" in un UICollectionView e, come ho detto, la metà "peek" mostra la cella corretta, ma il "pop" no. Questo problema si verifica solo quando utilizzo [self.navigationController showViewController:viewControllerToCommit sender:nil];
o [self.navigationController pushViewController:viewControllerToCommit animated:YES];
per eseguire il "pop".Peek & Pop: il pop porta alla cella errata in UICollectionView
Ecco la "Peek" mostra la cella corretta
E il "Pop" che mostra la cella sbagliata (s)
ho provato ad usare [self presentViewController:viewControllerToCommit animated:YES completion:nil];
e viene mostrata la cella corretta , eccetto questo non mi dà gli elementi di navigazione di cui ho bisogno, quindi non posso usarlo (a meno che non ci sia un modo per recuperare tutti gli elementi di navigazione).
Il mio pensiero iniziale è che c'è qualcosa di sbagliato nel modo in cui la mia app sta calcolando la dimensione di CollectionViewCell. Ecco il codice che sto usando per quello, anche se sembra che funzioni correttamente con qualsiasi cosa diversa da Peek & Pop.
-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
CGSize collectionViewBounds = collectionView.bounds.size;
int navigationHeight = self.navigationController.navigationBar.bounds.size.height;
int toolbarHeight = self.navigationController.toolbar.bounds.size.height;
int statusBarHeight = [UIApplication sharedApplication].statusBarFrame.size.height;
int cellHeight = collectionViewBounds.height - (navigationHeight + statusBarHeight + toolbarHeight);
int cellWidth = collectionViewBounds.width;
return CGSizeMake(cellWidth, cellHeight);
}
da aggiungere alla mia confusione, la "pop" funziona perfettamente quando il primo o l'ultimo elemento della TableView sono "sbirciato". Qualsiasi aiuto con questo sarebbe molto apprezzato.
È possibile aggiungere il 'viewControllerToCommit' ad un' UINavigationController' e * presente * che 'navigationController' a _get tutti gli elementi di navigazione back_ –
Ho cercato di creare un nuovo' UINavigationController' e miei dati non è stato caricato nella nuova vista 'cellula, e l'unico elemento di navigazione che è apparso era un BLANK 'UINavigationBar' e vuoto' UIToolBar' – Nick