2011-12-23 61 views
0

我在我的应用程序中有两个视图:在主视图中有用户必须填写的输入字段和连接到第二个视图的按钮。在第二个视图中有一个表视图,当用户选择一行时自动返回到主视图。 我的问题是,当您返回到主视图时,文本字段的值将被清除。 任何解决方案? 谢谢。给textfield赋值firstview take secondview

二视野头

@class MainViewController; 

    @interface ListaViewController : UIViewController 
    <UITableViewDataSource, UITableViewDelegate, UISearchBarDelegate> 
    { 
     UITableView *table; 
     UISearchBar *search; 
     MainViewController *child; 
    } 

    @property (nonatomic, retain) IBOutlet UITableView *table; 
    @property (nonatomic, retain) IBOutlet UISearchBar *search; 
    @property (nonatomic, retain) MainViewController *child; 


    - (IBAction)switchBack:(id)sender; 

二View实现:

 -(IBAction)switchBack:(id)sender 
     { 
     child.selectedCountry = selectedCountry; 
     child.codiceComune = codiceComune; 
     [self.navigationController popViewControllerAnimated:YES]; 
     } 

首先查看:

 -(void)viewDidAppear:(BOOL)animated 
     { 
     [super viewDidAppear:animated]; 
     cityField.text = selectedCountry; 
     } 

这不行!

回答

0

作为没有代码的猜测,您可能会清空或初始化viewDidLoad,viewDidAppear或viewWillappear中的文本字段 - 而不是在您的viewController init中执行此操作。

+0

中写的那样你正在重新创建你的viewcontroller。这是重新创建您的文本字段。你需要切换回原来的viewController而不是重新创建它。 – ader 2011-12-23 12:06:58

1
-(IBAction)switchBack:(id)sender 
     { 
     MainViewController *controller = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil]; 
     controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
     [self presentModalViewController:controller animated: YES]; 
     [controller release]; 
     } 

这意味着你创建 MainViewController,不会恢复到以前。

使用此代码,而不是

-(IBAction)switchBack:(id)sender 
{ 
    [self dismissModalViewControllerAnimated:YES]; 
} 

附:如果你用同样的方法去第二个vievcontroller,它会有效,就像你在-(IBAction)switchBack:(id)sender

+0

Thk,但我有一个问题,我通过controller.selectedCountry = selectedCountry将值传递给主视图; controller.code = code; – Maurizio 2011-12-23 12:14:43

+0

@Maurizio这意味着你做错事。您不需要创建新的MainController,只需在之前更改此值即可。例如,您可以将您的MainController作为SecondView中的变量发送,并在退出前更改其属性。 – Padavan 2011-12-23 12:26:01

+0

thk。如何通过从第二个视图获取值来将值分配给第一个视图?如果我使用简单解雇不工作。 – Maurizio 2011-12-23 12:33:18