2010-07-26 4 views
1

j'ai 2 vues im envoyer du texte dans un bouton 1er vue de l'étiquette sur la deuxième vue ....chaîne envoi entre les vues

//////textfieldtolabelViewController.h 

#import <UIKit/UIKit.h> 
#import "seconview.h" 

@interface textfieldtolabelViewController : UIViewController { 
    IBOutlet seconview *sec; 
    //IBOutlet UITextField *t1; 
} 

//@property(nonatomic, retain)IBOutlet UITextField *t1; 
-(void)buttonclick:(id)sender; 
@end 

et son fichier .m est ce

#import "textfieldtolabelViewController.h" 

@implementation textfieldtolabelViewController 


-(void)buttonclick:(id)sender 
{ 
    NSString *s = [sender titleForState:UIControlStateNormal]; 
    //sec.ss = s; 
    [sec settext:s]; 
    [self presentModalViewController:sec animated:YES]; 
} 
- (void)dealloc { 
    [super dealloc]; 
} 


@end 

maintenant il est deuxième vue nommant seconview .h

#import <UIKit/UIKit.h> 



@interface seconview : UIViewController { 
    IBOutlet UILabel *l1; 

} 
@property(nonatomic, retain)IBOutlet UILabel *l1; 


-(void)settext:(NSString *)ss; 
@end 

et son fichier .m est ....

#import "seconview.h" 


@implementation seconview 
@synthesize l1; 
//@synthesize ss; 

-(void)settext:(NSString *)ss 
{ 
    l1.text=ss; 
} 


- (void)dealloc { 
    [super dealloc]; 
} 


@end 

ce programme n'a montré aucune erreur et fonctionne très bien mais le problème est que le texte du bouton en 1ère vue ne figure pas dans l'étiquette sur la deuxième vue mais je fait tout lien parfaitement ...

Répondre

0

le [auto presentModalViewController: sec d'animation: OUI]; devrait être au-dessus du setText essayer

-(void)buttonclick:(id)sender 
{ 
    NSString *s = [sender titleForState:UIControlStateNormal]; 
    //sec.ss = s; 

    [self presentModalViewController:sec animated:YES]; 


    [sec settext:s]; 

} 

espérons qu'il fonctionnera ....

0

Vous n'avez probablement pas connecté l1 à l'étiquette réelle dans Interface Builder. Vérifiez avec le débogueur, que l1 n'est pas nil dans votre méthode setText

+0

pas de frère, je l'ai fait ce beau mais ne fonctionne toujours pas ..... s'il vous plaît vérifier le code et y répondre s'il vous plaît ..... im d'attente – Saawan

0

Vous pouvez inclure le contrôleur de vue contenant l'étiquette dans le contrôleur de vue où vous voulez changer, et d'y accéder en allouant une copie de celui-ci.

Par exemple, utiliser quelque chose comme ça dans textfieldtolabelViewController.m

#import "seconview.h" 

-(void)buttonclick:(id)sender 
{ 
    NSString *s = [sender titleForState:UIControlStateNormal]; 
    seconview *viewcontroller = [[seconview alloc] initWithNibName:@"seconview" bundle:nil]; 
    [[viewcontroller l1] setText:s]; 
    [viewcontroller release]; 
    [self presentModalViewController:sec animated:YES]; 
}