Marcio Trindade

Inserir uma subView pelo controller

Eu costumo utilizar mais código do que o Interface Builder pra desenvolver com Objective-c então vou mostrar como adicionar uma subView.

Vou considerar que você já tenha o seu appDelegate adicionando uma view na janela.

Test.h
[windowaddSubview:viewController.view];
[windowmakeKeyAndVisible];

Então agora no seu controller você pode adicionar uma subview em sua view principal.

Test.c
// referência para o frame atual
CGRect screenFrame = self.view.frame;
// cria uma UIView
myView = [[UIView alloc] initWithFrame:screenFrame];
// adiciona uma cor de fundo
myView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.7];
// adiciona propriedade pra redimencionar automaticamente
myView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
// adiciona a nova view como uma subview
[self.view addSubview:myView];

Observe para a cor de fundo utilizada, onde usei o método "colorWithAlphaComponent" para adicionar transparência a cor de fundo.

Da mesma forma que adicionamos um UIView também podemos adicionar qualquer view que herde de UIView como no caso de um UIImageView, UIScrollView e outros. Veja o exemplo abaixo:

Test.c
// referência para o frame atual
CGRect screenFrame = self.view.frame;
// cria uma UIScrollView
myScrollView = [[UIScrollView alloc] initWithFrame:screenFrame];
// adiciona uma cor de fundo
myScrollView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.7];
// adiciona propriedade pra redimencionar automaticamente
myScrollView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
// seta paginação pra verdadeiro
myScrollView.pagingEnabled = YES;
// adiciona a nova view como uma subview
[self.view addSubview:myScrollView];

Agora sabendo adicionar subView você pode criar um scroll com subviews pra mostrar seu conteúdo.