Je dois créer une séquence par programmation. Cependant, lorsque je clique sur le bouton, le contrôleur de vue ne change pas en suivant, le Storyboard ID est défini et ne fonctionne toujours pas. Me manque-t-il d'autres chèques pour que cela fonctionne?
S'il vous plaît voir le code ci-dessous:
EntryViewController *entryController = [self.storyboard instantiateViewControllerWithIdentifier:@"go"];
[self.navigationController pushViewController:entryController animated:YES];
cela me rend fou. Merci
Dans mon viewDidLoad, j'ai placé le bouton qui appelle goldStarOpen:
UIButton *btnTwo = [UIButton buttonWithType:UIButtonTypeCustom];
btnTwo.frame = CGRectMake(250, 20, 40, 40);
[btnTwo addTarget:self action:@selector(goldStarOpen) forControlEvents:UIControlEventTouchUpInside];
[btnTwo setImage:[UIImage imageNamed:@"GoldStar.png"] forState:UIControlStateNormal];
[self.view addSubview:btnTwo];
Dans goldStarOpen, j'ai un code qui est presque identique au vôtre.
- (void)goldStarOpen
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:
@"MainStoryboard" bundle:[NSBundle mainBundle]];
UIViewController *myController = [storyboard instantiateViewControllerWithIdentifier:@"GoldStar"];
[self presentViewController:myController animated:YES completion:nil];
}
goldStarOpen active un ViewController dans le storyboard.
Vous devrez peut-être définir l'ID de Storyboard du contrôleur de vue que vous essayez de charger. Cela se trouve dans l'inspecteur, juste en dessous de l'endroit où vous affectez une classe personnalisée à votre contrôleur de vue.
Utilisation
+ (UIStoryboard *)storyboardWithName:(NSString *)name bundle:(NSBundle *)storyboardBundleOrNil.
Alors essayez ceci
self.storyboard=[UIStoryboard storyboardWithName:@"Your_Story_Board_Name" bundle:[NSBundle mainBundle]];
EntryViewController *entryController = [self.storyboard instantiateViewControllerWithIdentifier:@"go"];
[self.navigationController pushViewController:entryController animated:YES];
essayez ceci Storyboard Choisissez UIViewController-> Xcode-> Editor-> Emabed In-> Navigation Controller
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"YourStoryboard"
bundle: nil];
YourViewController *vc = [mainStoryboard instantiateViewControllerWithIdentifier: @"YourViewController"];
[self.navigationController pushViewController:vc animated:YES];
Essaye ça,
UIStoryboard * storyboardobj=[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
EntryViewController *entryController = [storyboardobj instantiateViewControllerWithIdentifier:@"go"];
[self.navigationController pushViewController:entryController animated:YES];
Vous ne pouvez pas définir les contrôleurs de vue storyboard
. Il est en lecture seule et défini lors de la création du contrôleur de vue. Au lieu de cela, vous devrez vous procurer le storyboard ou le charger.
Vous pouvez obtenir le storyboard à partir du contrôleur de vue racine d'AppDelegate. Ou utilisez + (UIStoryboard *)storyboardWithName:(NSString *)name bundle:(NSBundle *)storyboardBundleOrNil
.