Dario Cardoso Postado 23 de março de 2012 Denunciar Compartilhar Postado 23 de março de 2012 Amigos To fazendo um programinha bobinho no iPad Ele tem apenas 2 xib um principal e outro que pergunta alguns dados para retornar no principal No xib principal coloquei um botão que chama o outro xib através da seguinte rotina Localizar2 *localizar2 = [[Localizar2 alloc] initWithNibName:@"Localizar2" bundle:nil]; self.localizar2 = localizar2; [self.view insertSubview:localizar2.view belowSubview:self.view]; [localizar2 release]; Com este codigo o xib principal fica atrás e eh chamado o outro xib Neste outro xib tem um botão que quando apertado retorna ao xib anterior, este botão tem o seguinte codigo [self.view removeFromSuperview]; Neste pronto ele volta para o xib anterior O que eu quero fazer eh que quando o usuario digitar o CAMPO NOME no outro xib, que o conteudo ao retornar para o xib principal venha preenchido tendo em vista que nos 2 xib eu tenho o CAMPO NOME Alguem sabe como fazer? Dario Citar Link para o comentário Compartilhar em outros sites More sharing options...
Artur Felipe Postado 23 de março de 2012 Denunciar Compartilhar Postado 23 de março de 2012 atravez de delegate. Delegate em si: //// StringDelegate.h#import <Foundation/Foundation.h>@protocol StringDelegate <NSObject> - (void)passString:(NSString *)text;@end[/CODE]View que passa o texto de um uitextfield para o delegate.[CODE]//// AddNameViewController.h#import <UIKit/UIKit.h>#import "StringDelegate.h"@interface AddNameViewController : UIViewController{ UITextField *nameField; id delegate;}@property(nonatomic, retain) IBOutlet UITextField *nameField;@property(nonatomic, assign) id <StringDelegate> delegate;- (IBAction)doneAction;@end[/CODE][CODE]//// AddNameViewController.m#import "AddNameViewController.h"@interface AddNameViewController ()@end@implementation AddNameViewController@synthesize delegate = _delegate;@synthesize nameField;- (id)delegate { return delegate;}- (void)setDelegate:(id)newDelegate { delegate = newDelegate;}- (IBAction)doneAction { [delegate passString:[nameField text]];}- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self;}- (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view from its nib.}- (void)viewDidUnload{ [super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil;}- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{ return (interfaceOrientation == UIInterfaceOrientationPortrait);}@end[/CODE]View que recebe o texto do delegate:[CODE]//// ItemViewController.h#import <UIKit/UIKit.h>#import "StringDelegate.h"@interface ItemViewController : UIViewController<StringDelegate>- (IBAction)CallModal:(id)sender;@property (weak, nonatomic) IBOutlet UITextField *textReturn;@end[/CODE][CODE]//// ItemViewController.m#import "ItemViewController.h"#import "AddNameViewController.h"@implementation ItemViewController@synthesize textReturn;- (void)passString:(NSString *)text{ //Do other checks before dismiss... textReturn.text = text; [self dismissModalViewControllerAnimated:YES];}- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self;}- (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view from its nib.}- (void)viewDidUnload{ [self setTextReturn:nil]; [super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil;}- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{ return (interfaceOrientation == UIInterfaceOrientationPortrait);}- (IBAction)CallModal:(id)sender { AddNameViewController *addName = [[AddNameViewController alloc] init]; addName.delegate = self; [self presentModalViewController:addName animated:YES];}@end[/CODE] Citar Link para o comentário Compartilhar em outros sites More sharing options...
Dario Cardoso Postado 25 de março de 2012 Autor Denunciar Compartilhar Postado 25 de março de 2012 Legal, Pode me enviar este exemplo montado no XCode como arquivo anexo para eu rodar ele aqui? Caso não como eu ligo estes códigos nas Views xib para testar? Dario Citar Link para o comentário Compartilhar em outros sites More sharing options...
mayckonx Postado 25 de março de 2012 Denunciar Compartilhar Postado 25 de março de 2012 Crie um objeto da view1 na view2... @property(nonatomic, retain) View1 *view;[/CODE]No código em que você chama a segunda view, sete o objeto do tipo View1 que está na View2...[CODE]view2.view1 = self;[/CODE]No código em que você fecha a segunda view, você seta o campo que vc tem na View1[CODE]view1.campoNome = @"Alguma coisa";[/CODE]Axo que assim vai funcionar... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Dario Cardoso Postado 29 de março de 2012 Autor Denunciar Compartilhar Postado 29 de março de 2012 Não funcionou, poderia me enviar um exemplo feito com o XCode com 2 Views? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Artur Felipe Postado 30 de março de 2012 Denunciar Compartilhar Postado 30 de março de 2012 ai o exemplo funcionando: http://www.arturfelipe.com/Site/DelegateDemo.zip Citar Link para o comentário Compartilhar em outros sites More sharing options...
Dario Cardoso Postado 30 de março de 2012 Autor Denunciar Compartilhar Postado 30 de março de 2012 Amigo Obrigado É isto mesmo que preciso... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Participe do debate
Você pode postar agora e se registrar depois. Se você tem uma conta, entre agora para postar com ela.