web-dev-qa-db-fra.com

Accéder à la vue parent de la vue actuelle - iOS

Quand je veux accéder au parent UIView du courant UIView, je déclare l'objet du parent UIView au courant UIView et j'y accède en affectant le parent UIView à Propriété d'objet de la vue actuelle. 

Existe-t-il un moyen de s'en débarrasser et d'appeler directement les méthodes ou les propriétés de la vue parente?

J'ai aussi essayé (parentView *) self.view.superview mais je n'ai pas aidé.

Il donne une erreur en appelant la fonction pour cet objet 

[UIVIew unrecognized selector......
37
Naveed Rafi

Si vous appelez cela directement depuis une UIView (et non une UIViewController), il devrait s'agir de self.superview au lieu de self.view.superview.

74
omz

@ Naveed: C’est le code commun que vous pouvez utiliser pour n’importe quelle vue, qu’il s’agisse d’une vue parent ou enfant, il suffit de changer le nom du bouton sur lequel vous voulez appuyer et le nom de la vue sur laquelle vous voulez aller. Par exemple, lorsque vous appuyez sur le bouton Précédent, vous voulez accéder à la bibliothèque, puis écrivez ce code

-(IBAction)backButtonPressed:(id) sender
 {
        llibraryView *libraryview=[[libraryView alloc] initWithNibName:nil bundle:nil];
    libraryview.modalTransitionStyle=UIModalTransitionStyleCoverVertical;
    [self presentModalViewController:libraryview animated:YES]; 
    [libraryview release];
 }

Faites-moi savoir si votre problème est résolu ou non.

0
Archana Chaurasia

Ce que je peux penser, c'est que vous souhaitez appeler la méthode de viewcontroller à partir de votre vue, que vous avez ajoutée à la vue de viewcontroller.

Vous avez maintenant deux options, soit vous définissez votre délégué de vue, votre contrôleur de vue, puis vous appelez la méthode de votre contrôleur de vue par l'approche [delegate performSelector:].

L'autre approche consiste à accéder à la vue d'ensemble de votre vue, puis à obtenir son contrôleur. Vous ne pouvez pas le faire directement, car si vous pouviez le faire, cela irait à l'encontre de l'objectif même de MVC.

Mais, il y a toujours un moyen de sortir, vous voilà: -

Obtenez à UIViewController de UIView?

J'espère que cela vous aide. 

0
c4code