sanchessd Postado 19 de fevereiro de 2012 Denunciar Compartilhar Postado 19 de fevereiro de 2012 Boa tarde, bom tenho uma View do meu progeto que tem 3 actions para abrir um PDF em 3 Linguagens criei uma modal com a webView que irá mostrar o PDF, e os arquivos PDF que vao abrir estao em Resources do meu progeto, entao para nao criar 3 modalViews (uma para cada PDF), criei uma só, e declarei uma NSString que irá ser o nome do arquivo PDF, Assim em cada action eu atribuo o nome certo de cada PDF, assim ficando mais dinamico, ja fiz isso antes, mas na mesma classe. Meu problema é que nao consigo acessar essa NSString da modalView, ja importei a classe da ModalView para a classe da minha viewPrincipal, mas nao tem jeito, sei que tem uma forma de acesasr essa string, pesquisei bastante mais nao consegui nada! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Nitro Postado 19 de fevereiro de 2012 Denunciar Compartilhar Postado 19 de fevereiro de 2012 Poste a parte do código q está trabalhando pra podermos ajudar melhor.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
sanchessd Postado 19 de fevereiro de 2012 Autor Denunciar Compartilhar Postado 19 de fevereiro de 2012 (editado) tenho 3 actions que abrem a modal -(IBAction)portugues{ [modalregulamento setModalTransitionStyle:UIModalTransitionStyleCrossDissolve]; [self presentModalViewController:modalregulamento animated:YES];}[/CODE]no DidLoad da modal tenho:[CODE]- (void)viewDidLoad {[super viewDidLoad]; pdfUrl = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource: linguaPDF ofType:@"pdf"]];[webView loadRequest:[NSURLRequest requestWithURL:pdfUrl]];}[/CODE]declarei a string "linguaPDF" e criei uma property [CODE]@property(nonatomic,retain) NSString *linguaPDF;[/CODE]fui na classe que abre a modal e importei a modal : [CODE]#import "ClasseDaModal"[/CODE]só que nao consigo acessar a string linguaPDF pois minha ideia seria trocar o valor dela em cada action, pois uma abriria o PDF em portugues outra em espanhol e outra em ingles.no caso seria só setar o nome do PDF em cada actionex:[CODE]-(IBAction)portugues{ [modalregulamento setModalTransitionStyle:UIModalTransitionStyleCrossDissolve]; [self presentModalViewController:modalregulamento animated:YES]; self.linguaPDF = @"portugues";}[/CODE] Editado 19 de fevereiro de 2012 por sanchessd Citar Link para o comentário Compartilhar em outros sites More sharing options...
rafaelcosta Postado 20 de fevereiro de 2012 Denunciar Compartilhar Postado 20 de fevereiro de 2012 Cara, entendi o que você quer fazer... Vamos apelidar a classe que vai CHAMAR a classe do PDF de "ClasseHome", e a outra de "ClassePDF" Crie a NSString na ClasseHome (declare a property direitinho e tal) Então na ClassePDF (no viewDidLoad) faz assim (NÃO SE ESQUEÇA DE IMPORTAR A ClasseHome): - (void)viewDidLoad {[super viewDidLoad]; ClasseHome *classeHomeVar = [[ClasseHome alloc]init]; NSString *pathString = classeHomeVar.linguaPDF; pdfUrl = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:pathString ofType:@"pdf"]];[webView loadRequest:[NSURLRequest requestWithURL:pdfUrl]];}[/CODE]Pronto, resolvido! Citar Link para o comentário Compartilhar em outros sites More sharing options...
sanchessd Postado 21 de fevereiro de 2012 Autor Denunciar Compartilhar Postado 21 de fevereiro de 2012 fiz como voce me sugeriu, mas sem resultado. vou postar aqui parte do meu codigo: a classeHome se chama SalaoDesign: segue codigo em SalaoDesign.h #import <UIKit/UIKit.h>#import "Regulamento.h"@interface SalaoDesign : UIViewController { NSString *lingua; Regulamento *modalregulamento; ...}@property(nonatomic,retain) NSString *lingua;...[/CODE]em SalaoDesign.m:[CODE]-(IBAction)portugues{ lingua = @"portugues"; [modalregulamento setModalTransitionStyle:UIModalTransitionStyleCrossDissolve]; [self presentModalViewController:modalregulamento animated:YES];}-(IBAction)espanhol{ lingua = @"espanhol"; [modalregulamento setModalTransitionStyle:UIModalTransitionStyleCrossDissolve]; [self presentModalViewController:modalregulamento animated:YES];}-(IBAction)ingles{ lingua = @"ingles"; [modalregulamento setModalTransitionStyle:UIModalTransitionStyleCrossDissolve]; [self presentModalViewController:modalregulamento animated:YES];}[/CODE]essas 3 actions abrem os PDFs, no caso [CODE]lingua = @"portugues";[/CODE]seria o nome do PDF que seá aberto, tenho tres PDFs "portugues, espanhol e ingles" sendo esses seus respectivos nomes.a classePDF se chama Regulmento, em Regulamento.h tenho:[CODE]#import <UIKit/UIKit.h>@interface Regulamento : UIViewController { IBOutlet UIWebView *webView; NSURL *pdfUrl;}@property(nonatomic,retain) IBOutlet UIWebView *webView;@property(nonatomic,retain) NSURL *pdfUrl;-(IBAction)fechar:(id)sender;@end[/CODE]em regulamento.m :[CODE]#import "Regulamento.h"#import "SalaoDesign.h"@implementation Regulamento@synthesize webView;@synthesize pdfUrl;....- (void)viewDidLoad {[super viewDidLoad]; SalaoDesign *salaoDesignVar = [[SalaoDesign alloc] init]; NSString *pathLingua = [salaoDesignVar lingua]; pdfUrl = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:pathLingua ofType:@"pdf"]];[webView loadRequest:[NSURLRequest requestWithURL:pdfUrl]];}...[/CODE]acredito que o codigo esteja certo, seguindo o que me passou, mas parece que nao atribui valor a "lingua"fiz um NSLog e nao imprime nenhum valor da string "lingua", parece que este metodo nao funcionou, tem algo que estou fazendo errado?Obrigado! 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.