-4
votes

Comment utiliser NavigationController.PushViewController dans la classe NapeCell?

Utilisation de UitaireViewCell Code> Classe pour afficher la cellule de la liste de table. Je veux rediriger d'un écran à un autre à l'aide de " NavigationController? .PushViewController code>", mais il ne prend pas en charge dans la classe de cellules du tableau. Alors, comment puis-je déplacer uiviewcontroller code> à l'aide de PushViewController à partir d'une cellule de table.

Mon code est le suivant: P>

class TableCell: UITableViewCell
{
    let storyBoard : UIStoryboard = UIStoryboard(name: "SubMain", bundle:nil)
    let nextViewController = storyBoard.instantiateViewController(withIdentifier: "DetailReport") as! DetailReport
    nextViewController.aryOfResultList = aryForCreateJSONResult
    cell.inputViewController?.navigationController?.pushViewController(nextViewController, animated: true)

}


7 commentaires

Voulez-vous effectuer NavigationController? .PushViewController lorsqu'une cellule de vue de table est taraudée?


Oui, je veux effectuer NavigationController? .PushViewController lorsqu'une cellule de vue de table est taraudée


Ajouter NavigiseController? .PushViewController dans la méthode DidSelectrowat IndexPath


oui dans la méthode de l'index dediselectrowat


Il suffit d'ajouter votre code push dans la méthode DidSelect


@Bhavishakhatri n'utilise pas NavigationController.PushViewController dans la classe NapeCell. Utilisez ceci dans la méthode DidSelectrowat IndexPath


@Bhavishakhatri s'il vous plaît vérifier ma réponse


4 Réponses :


2
votes

Déclarez une variable dans la cellule appelée var parent: UIViewController? . Dans le contrôleur parent, dans la fonction cellsfornor , xxx

maintenant dans la cellule, vous pouvez appeler xxx

Mise à jour Si ce que vous voulez simplement pousser le contrôleur d'affichage lorsqu'une cellule est enregistrée, vous pouvez le faire dans le contrôleur parent dans: xxx


0 commentaires

1
votes

Vous pouvez toujours naviguer à l'aide du contrôleur de navigation à partir d'un contrôleur d'affichage à une autre et à une autre cellule de vue de la table n'est pas un UIViewController Type, son type uiview type.

Vous pouvez soit créer un délégué dans une cellule de vue de la table personnalisée, ce qui confirmera le uiviewcontroller et implémenter la méthode du délégué cellulaire dans le contrôleur d'affichage.

ou vous pouvez naviguer vers un autre écran puis la cellule est taraudée dans la vue de tableau.


2 commentaires

S'il vous plaît partager le code pour que je vais obtenir une meilleure idée


@Bhavishakhatrri no iOS Developer ne sait pas DisSelectrowat Votre question est que votre question est comprise que vous avez besoin d'une navigation d'une action spécifique à l'intérieur de la cellule, trouvez-vous toujours impossible de voir des doublons et de lire d'autres réponses ici avec DidSelectrowat



0
votes

Obtenez la vue Contentreuse à partir de la fonction Helper: xxx

puis dans votre cellule personnalisée, utilisez parentviewcontroller.navigationController

Vous pouvez l'utiliser Pour tous les types uIView .


0 commentaires

0
votes

Vous devez affecter pushviewController code> dans TableViewsSelectrowat () Code> Méthode E.G.

 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
 {
    let storyBoard : UIStoryboard = UIStoryboard(name: "SubMain", bundle:nil)
    let nextViewController = storyBoard.instantiateViewController(withIdentifier: "DetailReport") as! DetailReport
    navigationController?.pushViewController(nextViewController, animated: true)
 }


0 commentaires