2010-10-28 5 views
0

J'essaie de travailler avec ARKit pour activer la Réalité Augmentée dans l'une de mes applications.Extiting the ARKit view

Je suis en mesure d'ajouter le ARViewController en faisant ceci:

ParkingAppDelegate *appDelegate = (ParkingAppDelegate *)[[UIApplication sharedApplication] delegate]; 
arvc = [[ARViewController alloc] initWithDelegate:self]; 
//add the button to the view 
[arvc.view addSubview:button]; 
[[appDelegate window] addSubview:arvc.view]; 

Mais je ne peux pas l'enlever et de revenir à mon application ...

Avez-vous des idées?

Merci

+0

J'ai essayé d'utiliser certaines méthodes avec: - rejeter le contrôleur modal - removeFromSuperView Mais ça n'a pas marché ... Avez-vous des idées? – Rob

Répondre

0

mettez-vous dans une boucle conditionnelle? Vous pouvez définir les conditions pour qu'il apparaisse quand vous le voulez, puis le tuer. Cependant, cela fait un moment que j'ai travaillé avec le code de l'iPhone, donc je suis un peu brumeux sur la façon dont cela fonctionnerait réellement. (J'aimerais mettre ceci dans la partie de commentaire, mais je n'ai pas assez de représentant. Dites-moi si vous le voulez enlevé, juste ne votez pas vers le bas)

+0

Ne vous inquiétez pas, je comprends les limites des commentaires. Avez-vous un morceau de code illustrant vos explications? Je le fais peut-être de la mauvaise manière ... Merci – Rob

+0

Je ne peux pas vraiment l'exprimer dans autre chose que pseudocode, désolé :(Je créerais le ARViewController, mais j'attendrais pour l'implémenter. une méthode qui continuerait à vérifier la condition à partir de laquelle démarrer le ARViewController, puis vérifierait une condition dans laquelle la méthode "casserait" Cela pourrait être un atterrissage brutal, mais cela devrait faire l'affaire. Programmé dans Xcode depuis l'été dernier, tout est basé sur la mémoire. –

0

Il devrait être semblable à ajouter/enlever le contrôleur & c'est la vue.

I.e. vous disposez du VC, mais sa vue est toujours conservée par UIWindow.

- (void) hideController { 
    //[arvc willMoveToParentViewController:nil]; 
    [arvc.view removeFromSuperview]; 
    arvc = nil; //[arvc removeFromParentViewController]; 
}