XLForm sans XIB/Storyboard
Bonjour,
J'utilise actuellement la librairie XLForm afin de créer un formulaire et j'aimerai me passer des XIB (et je n'utilise toujours pas les Storyboard...).
J'appelle la class "EditVC" de cette façon :
EditVC *editPC=[[EditVC alloc] init];
UINavigationController *navC = [[UINavigationController alloc] initWithRootViewController:editPC];
[self presentViewController:navC animated:NO completion:nil];
Celle-ci est implémentée de cette façon :
#import "XLFormViewController.h"
@interface EditVC : XLFormViewController
@end
#import "EditProfileVC.h"
#import "XLForm.h"
@implementation EditVC
#pragma mark - View lifecycle
//- (id)init
//{
- (void)viewDidLoad {
[super viewDidLoad];
XLFormDescriptor * form;
XLFormSectionDescriptor * section;
XLFormRowDescriptor * row;
form = [XLFormDescriptor formDescriptorWithTitle:@Add Event];
// First section
section = [XLFormSectionDescriptor formSection];
[form addFormSection:section];
// Title
row = [XLFormRowDescriptor formRowDescriptorWithTag:@title rowType:XLFormRowDescriptorTypeText];
[row.cellConfigAtConfigure setObject:@Title forKey:@textField.placeholder];
[section addFormRow:row];
// Location
row = [XLFormRowDescriptor formRowDescriptorWithTag:@location rowType:XLFormRowDescriptorTypeText];
[row.cellConfigAtConfigure setObject:@Location forKey:@textField.placeholder];
[section addFormRow:row];
// Second Section
section = [XLFormSectionDescriptor formSection];
[form addFormSection:section];
// All-day
row = [XLFormRowDescriptor formRowDescriptorWithTag:@all-day rowType:XLFormRowDescriptorTypeBooleanSwitch title:@All-day];
[section addFormRow:row];
// Starts
row = [XLFormRowDescriptor formRowDescriptorWithTag:@starts rowType:XLFormRowDescriptorTypeDateTimeInline title:@Starts];
row.value = [NSDate dateWithTimeIntervalSinceNow:60*60*24];
[section addFormRow:row];
}
@end
J'obtiens cette erreur lors de l'appel de la class :
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "EditVC" nib but the view outlet was not set.'
Je pense que j'oublie quelques choses, mais je sèche complètement (10 jours que je suis bloqué...).
J'ai testé avec un NIB UIViewController + UITableView et un NIB avec un UITableViewController
Avez-vous déjà testé cette librairie ?
Merci à vous
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Le rôle d'un UIViewController est de gérer une hiérarchie de vues. La vue racine correspond à sa propriété "view".
Dans le xib, il faut absolument que l'outlet "view" du File's Owner (= le view controller) soit reliée à la vue racine.
Merci pour ton retour.
Je n'ai pas de fichier XIB justement, je voudrais m'en passer.
Je viens de changer la méthode d'appel de ma class :