Salut j'essaye d'append un view controller
tant que child view
. et plus tard, supprimez cette view controller
parent du formulaire de view controller
J'utilise le code suivant à cette fin.
self.loginView = [self.storyboard instantiateViewControllerWithIdentifier:@"LOGIN"]; [self.view addSubview:self.loginView.view];
Ce code fonctionne bien pour iOS8
mais dans iOS7
ce code ne fonctionne pas il montre la moitié de l'écran.
Quelle pourrait être la solution pour cela?
Ajoutez un object UIView
personnalisé dans votre vue principale (dans XIB) dans lequel vous souhaitez append et afficher votre controller de vue enfant. Laissez contentView
est le nom de cette vue. Utilisez le code suivant pour append le controller de vue enfant:
self.loginView = [self.storyboard instantiateViewControllerWithIdentifier:@"LOGIN"]; [self addChildViewController:self.loginView]; [self.loginView.view setFrame:CGRectMake(0.0f, 0.0f, self.contentView.frame.size.width, self.contentView.frame.size.height)]; [self.contentView addSubview:self.loginView.view]; [self.loginView didMoveToParentViewController:self];
Si vous n'ajoutez pas la dernière ligne, votre controller de vue enfant ne recevra pas d'events. En utilisant ce code, vous pouvez recevoir simultanément des events dans les deux controllers de vue parent et enfant.
L'ajout d'un UIViewController
tant que sous- subView
n'est pas une programmation standard, je crois, UIViewController
est destiné à gérer une vue complète à l'écran. Au lieu d'append un UIViewController
à votre UIView
vous devez créer un UIView
personnalisé, puis utiliser UIView
pour get les résultats souhaités.
EDIT: utilisez XIB pour créer un UIView personnalisé.