twitterfacebookgoogle pluslinkedinrss feedemail

sexta-feira, 16 de outubro de 2015

Iniciando com Storyboard no IOS - Segunda Parte

Vamos para a segunda parte dos meus estudos sobre Storyboard.
Caso não tenha lido a primeira parte, clique aqui para ler.

Na segunda View, vamos criar uma classe personalizada para este controller. Assim vamos poder fazer algumas ações nesta View.

Criando ViewController para a View do StoryBoard:
Para isso, clicar na pasta raiz do seu projeto e criar um novo arquivo de Cocoa Touch Class. Criei com o nome de SegundoViewController.


Agora vamos relacionar a nossa classe ao ViewController.
Clicar no segundo ViewController e no lado esquerdo, abrir as opções do Identity Inspector (canto direito da imagem) e alterar a opção de CustomClass para a classe criado acima. Conforme figura abaixo.



Agora vamos deixar o label do segundo viewController acessível para a aplicação, vamos criar o IBOutlet para ele.
Selecione o label no Storyboard e com o Control apertado, arraste até para o fonte do arquivo H SegundoViewController.
Também criamos uma property NSString.
Ficando como o código fonte abaixo:

 //  
 // SegundoViewController.h  
 // TesteStoryBoard  
 //  
 // Created by Douglas Romero on 14/10/15.  
 // Copyright © 2015 Douglas Romero. All rights reserved.  
 //  
 #import <UIKit/UIKit.h>  
 @interface SegundoViewController : UIViewController  
 @property (weak, nonatomic) IBOutlet UILabel *segundoLabel;  
 @property (weak, nonatomic) NSString *txtSegundoLabel;  
 @end  


Agora no arquivo M do SegundoViewController, vamos definir que o objeto de tela label tem o valor da propriedade NSString, implementar o viewDidLoad conforme o código abaixo:

 //  
 // SegundoViewController.m  
 // TesteStoryBoard  
 //  
 // Created by Douglas Romero on 14/10/15.  
 // Copyright © 2015 Douglas Romero. All rights reserved.  
 //  
 #import "SegundoViewController.h"  
 @interface SegundoViewController ()  
 @end  
 @implementation SegundoViewController  
 - (void)viewDidLoad {  
   [super viewDidLoad];  
   _segundoLabel.text = _txtSegundoLabel;  
   // Do any additional setup after loading the view.  
 }  
 - (void)didReceiveMemoryWarning {  
   [super didReceiveMemoryWarning];  
   // Dispose of any resources that can be recreated.  
 }  
 /*  
 #pragma mark - Navigation  
 // In a storyboard-based application, you will often want to do a little preparation before navigation  
 - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {  
   // Get the new view controller using [segue destinationViewController].  
   // Pass the selected object to the new view controller.  
 }  
 */  
 @end  

No ViewController da primeira tela, vamos importar o SegundoViewController.
Realizar o import no ViewController.h.

 //  
 // ViewController.h  
 // TesteStoryBoard  
 //  
 // Created by Douglas Romero on 05/10/15.  
 // Copyright © 2015 Douglas Romero. All rights reserved.  
 //  
 #import <UIKit/UIKit.h>  
 #import "SegundoViewController.h"  
 @interface ViewController : UIViewController  
 @end  

No M do ViewController, vamos implementar o método prepareForSegue, que irá notificar o segundo view controller.
Na implementação do método, iremos criar uma instancia do SegundoViewController e iremos definir o valor da propriedade txtSegundoLabel.
Conforme no código abaixo:

 //  
 // ViewController.m  
 // TesteStoryBoard  
 //  
 // Created by Douglas Romero on 05/10/15.  
 // Copyright © 2015 Douglas Romero. All rights reserved.  
 //  
 #import "ViewController.h"  
 @interface ViewController ()  
 @end  
 @implementation ViewController  
 - (void)viewDidLoad {  
   [super viewDidLoad];  
   // Do any additional setup after loading the view, typically from a nib.  
 }  
 - (void)didReceiveMemoryWarning {  
   [super didReceiveMemoryWarning];  
   // Dispose of any resources that can be recreated.  
 }  
 -(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{  
   SegundoViewController *destino = [segue destinationViewController];  
   destino.txtSegundoLabel = @"Chegou da Primeira Tela";  
 }  
 @end  

Agora é só executar a aplicação e verificar o resultado.
Acabamos a segunda parte deste tutorial de trabalhando com StoryBoard.


Nenhum comentário:

Postar um comentário

 

Sobre o Blog

Neste blog irei compartilhar as minhas experiências e observações. Os temas serão variados, mas com ênfase em tecnologia. Inscreva-se nos nossos canais para receber atualizações.