J'ai quelque chose comme ça:
myViewController = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];
[mainCanvas addSubview: myViewController.view];
self.view = mainCanvas;
Il sera ajouté à la position (0, 0), mais je veux l'ajouter à (0, 100) ou ailleurs. Comment faire?
Quelque chose comme ça:
myViewController = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];
myViewController.view.frame = CGRectMake(0, 100, myViewController.view.frame.size.width, myViewController.view.frame.size.height);
[mainCanvas addSubview: myViewController.view];
self.view = mainCanvas;
Outre la définition de la propriété frame
, vous pouvez également définir la propriété center
d'une vue.
Définissez la propriété frame sur la vue secondaire.
C'est le meilleur moyen que j'ai trouvé pour ajouter une sous-vue, comme un écran de chargement ou quelque chose que vous voulez montrer si vous êtes dans un UIView
, UIScrollView
ou UITableView
.
myViewController = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];
myViewController.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
[self.view addSubview:myViewController.view];
self.view.bounds = myViewController.view.bounds;
Cela fera apparaître la sous-vue en plein écran, peu importe où vous êtes dans la self.view en ajoutant la sous-vue à l'endroit où vous vous trouvez actuellement dans votre self.view au lieu de la positionner dans le coin supérieur gauche, ne montrant complètement si vous êtes tout en haut de votre vue.