Domanda

Ho sottoclasse UIViewController in una nuova classe, PageViewController (sto scrivendo un libro semplice app). Voglio aggiungere una nuova vista caricato da un file pennino e sto usando il codice seguente. Esso funziona.

PageViewController *viewController1 = [[UIViewController alloc] initWithNibName:@"Page1" bundle:nil];
[viewController1.view setUserInteractionEnabled:YES];
[self.view addSubview:viewController1.view];

Tuttavia, la prima linea è sbagliata perché dovrei chiamando alloc su PageViewController. Quando mi correggo (sotto), il codice viene compilato ma il file XI ter non viene caricato e la vista è semplicemente trasparente.

    PageViewController *viewController1 = [[PageViewController alloc] initWithNibName:@"Page1" bundle:nil];
[viewController1.view setUserInteractionEnabled:YES];
[self.view addSubview:viewController1.view];

Il metodo PageViewController initWithnibName è stato non è commentato ed è solo l'impostazione predefinita, l'impostazione di auto = [super initWithnibName: fascio nibNameOrNil: nibBundleOrNil].

Quello che ho provato: Nel file pennino Pagina1, Ho provato a cambiare la classe File proprietario tra PageViewController e UIViewController. Sì, mi sono ricordato di collegarlo di nuovo alla presa di vista in seguito.

Aiuto, per favore! Stumped.

È stato utile?

Soluzione

Avete sovrascritto il metodo loadview in PageViewController? Che cosa succede se si NSLog il viewController1.view?

In effetti, in Interface Builder, è necessario impostare il proprietario del file da PageViewController, e collegare la sua vista alla vista che avete in Interface Builder.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top