Pergunta

Eu tenho uma subclasse UIViewController em uma nova classe, PageViewController (Eu estou escrevendo um aplicativo simples livro). Quero acrescentar uma nova visão carregada de um arquivo nib e estou usando o seguinte código. Ele funciona.

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

No entanto, a primeira linha é errado, porque eu deveria estar chamando alloc em PageViewController. Quando eu corrigi-lo (abaixo), os compila o código, mas o arquivo xib não carregar ea vista é apenas transparente.

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

O método PageViewController initWithNibName foi descomentada e é apenas o auto padrão, definindo = [super-initWithNibName: nibNameOrNil pacote: nibBundleOrNil].

O que eu tentei: No arquivo nib Página1, eu tentei mudar a classe File Proprietário entre PageViewController e UIViewController. Sim, eu me lembrei de ligar de volta para a tomada de vista mais tarde.

Ajuda, por favor! Estou perplexo.

Foi útil?

Solução

Você já substituído o método loadView em PageViewController? E se você NSLog o viewController1.view?

De fato, em Interface Builder, você tem que definir o dono do arquivo para PageViewController, e conecte seu ponto de vista com a visão que você tem em Interface Builder.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top