web-dev-qa-db-fra.com

Ajout de la barre de navigation mais pas de bouton retour?

J'ai créé une vue sous forme de tableau et, à partir de là, un utilisateur a appuyé sur une cellule pour accéder à detailItemView, mais le seul problème pour l'instant est que chaque fois qu'un utilisateur est dans detailItemView, il n'y a pas de bouton de retour, même si j'ai déjà intégré un contrôleur de navigation

Voici le code qui effectuera une transition une fois qu'un utilisateur a appuyé sur une cellule:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

    // Get the new view controller using [segue destinationViewController].
    var nav = segue.destinationViewController as! UINavigationController
    var detailScene = nav.topViewController as! DetailViewController


    // Pass the selected object to the destination view controller.
    if let indexPath = self.tableView.indexPathForSelectedRow() {
        let row = Int(indexPath.row)
        detailScene.currentObject = objects?[row] as? PFObject
    }
}

La capture d'écran du storyboard:

enter image description here

capture d'écran modifiée

enter image description here

J'ai essayé de faire la réponse ci-dessous mais il n'y a toujours pas de bouton retour

Une autre capture d'écran, le contrôleur detailView n'a pas de bouton de retour

enter image description here

9
sinusGob

Incorporer le TableViewController dans le NavigationController. Pas le DetailViewController directement. Découvrez la capture d'écran.

Assurez-vous que la connexion entre votre TableViewController et votre DetailViewController est de type Show (par exemple Push). Vous devez littéralement Poussez une nouvelle vue en haut de la pile de navigation.

Check screenshot

10
gutenmorgenuhu

Cliquez sur StoryBoardSegue, le lien entre tableviewcontroller et detailviewcontroller. Dans l'inspecteur d'attributs, vous devrez peut-être cliquer sur la coche "Animer" même si elle est cochée. Faites cela après avoir sélectionné "Afficher (par exemple, Push)" situé dans le menu déroulant "Genre". Ensuite, lancez votre application, puis resélectionnez la même option "Animation" après avoir arrêté votre application. Je pense que c'est un bug et il m'a fallu une heure pour comprendre comment résoudre ce problème. De plus, vous pouvez utiliser le "Push" obsolète, mais cela va illiciter un avertissement. "Push" obsolète est sous "Kind" dans l'inspecteur d'attributs StoryBoardSegue.

3
Wallace Duncan

J'ai eu le même problème tout à l'heure, résolu en supprimant segue, en ajoutant à nouveau et en lui donnant immédiatement un identifiant. 

3
OBEE

Je me débattais aussi avec cela, et j’ai nommé l’identifiant de la segue, et maintenant cela fonctionne. Il suffit de sélectionner le segment (la flèche) de la vue Tableau à la vue, puis d'aller en haut à droite, où se trouvent les options, et sélectionner Afficher l'inspecteur d'attributs. Il y a un champ pour l'identifiant. 

1
user155229

Si votre contrôleur de vue actuel est intégré à un contrôleur de navigation, vous n'avez pas besoin d'intégrer le contrôleur de vue de détail dans un contrôleur de navigation. Il suffit de connecter un bouton au contrôleur de vue de détail pour que la navigation arrière vienne automatiquement.

0
fullMoon

Créez simplement uinavigation avec UItableview puis connectez la cellule en 

0
John Terry