Je n'arrive pas à comprendre cela - je sais que ça doit être simple ... Je commence à me sentir bête. J'ai deux viewControllers. MainViewController.h/m et LevelsViewController.h/mAjouter un sous-menu plus petit avec une nouvelle origine
Je souhaite ajouter une sous-vue de la classe LevelsViewController et une vue intégrée dans IB appelée levelsView. Je l'appelle à partir du fichier MainViewController.m. Le levelsView est seulement 200x200 pixels et je veux le décaler de l'origine du cadre du superView par x = 140 pixels et y = 50 pixels.
J'ai ce travail - la vue s'affiche, mais je ne peux pas comprendre comment le compenser. Il n'apparaît qu'à l'origine de l'image 0,0 superView. (Le superView montre ci-dessous, ce que je veux).
Voici le code que j'appelle dans la méthode dans MainViewController.m qui affiche levelsView. (J'ai commenté certaines des choses que j'ai essayées - mais jette cette erreur: erreur: demande de membre 'frame' dans 'myLevelsView', qui est de type non-classe 'LevelsViewController *'
)
- (void) displayLevelsPage {
if (self.theLevelsView == nil) // Does not yet exist - therefore create
{
LevelsViewController * myLevelsView = [[LevelsViewController alloc] initWithNibName:@"levelsView" bundle:[NSBundle mainBundle]];
NSLog(@"NEW theLevelsView instance created!");
CGRect frame2 = CGRectMake(140, 50, 200, 200);
//myLevelsView.frame = frame2;
self.theLevelsView = myLevelsView;
[myLevelsView release];
}
[self.view addSubview: theLevelsView.view];
NSLog(@"Levels View has been activated");
}
Toute idée serait appréciée.
Merci - cela a résolu le problème. Oui - J'étais conscient du problème de ViewController, mais je pensais qu'en désactivant toute interaction de l'utilisateur sur le superView avec setUserInteractionEnabled: NON, je pourrais m'en tirer avec. Peut-être pas la meilleure stratégie. – ReachWest