Comment Pousser un UIViewController avec PLUME fichier
Je suis nouveau sur le développement d'iOS et je vais avoir un gros mal de tête de ne pas comprendre quelque chose qui peut être assez facile.
Fondamentalement, je suis en utilisant un UITableViewController pour aller à l'autre UITableViewController, mais là j'ai besoin de passer de cette deuxième UITableViewController à un UIViewController. Je veux que ce UIViewController avoir un .xib fichier pour moi de faire un rapide de l'INTERFACE utilisateur, mais je n'arrive pas à trouver la façon de les pousser à partir de la Deuxième UITableViewController à ce UIViewController.
J'ai réussi à en programmant afficher une étiquette, mais pas d'une INTERFACE utilisateur à partir d'un .xib.
C'est le code qui fonctionne avec la programmation de l'étiquette:
- (void)tableView:(UITableView *)tableView
accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath
{
self.detailController.title = @"Disclosure Button Pressed";
NSString *selectedMovie = self.movies[indexPath.row];
NSString *detailMessage = [[NSString alloc]
initWithFormat:@"This is details for %@.",
selectedMovie];
self.detailController.message = detailMessage;
self.detailController.title = selectedMovie;
[self.navigationController pushViewController:self.detailController
animated:YES];
}
Et c'est l' .m de la UIViewController qui fonctionne pour montrer un UILabel par programmation.
@implementation BIDDisclosureDetailViewController
- (UILabel *)label;
{
return (id)self.view;
}
- (void)loadView;
{
UILabel *label = [[UILabel alloc] init];
label.numberOfLines = 0;
label.textAlignment = NSTextAlignmentCenter;
self.view = label;
}
- (void)viewWillAppear:(BOOL)animated;
{
[super viewWillAppear:animated];
self.label.text = self.message;
}
@end
Fondamentalement, je ne veux pas créer tout UIObject par programmation, j'ai besoin d'un .xib pour créer l'INTERFACE utilisateur.
Grâce
(iOS 6, en n'utilisant pas les storyboards)
Si vous utilisez iOS 6, pourquoi utiliser xibs au lieu d'un storyboard? Je ne vois aucune raison d'utiliser xibs plus, sauf si vous avez affaire avec le code existant.
OriginalL'auteur Symphonicmind | 2013-04-10
Vous devez vous connecter pour publier un commentaire.
Chargement d'un
UIViewController
à partir d'un xib est facile. Lorsque votre tableview délégué envoie ledidSelectRowAtIndexPath:
message, vous pouvez charger un xib et de présenter le point de vue du contrôleur comme suit:Des choses à noter:
initWithNibName:bundle:
loadView
code que vous avez là aussi, il va gâcher les choses lorsque vous essayez d'utiliser la xib.Note de côté! vous ne devriez pas avoir des points-virgules à la fin de signatures de méthode comme celle-ci:
Il est considéré comme une mauvaise forme.
Espérons que cette aide!
OriginalL'auteur Dan Fairaizl
Utiliser la méthode ci-dessus pour le pousser à vue-contrôleur lorsqu'une ligne est sélectionnée
OriginalL'auteur Kasaname