2012-05-04 20 views
1

我在24小時內閱讀了Sam的Xcode並正在練習segues。我使用下面的代碼開始了一個segue:
但是我發現我的標籤在我的目標視圖中的文本沒有被設置。但我在NewSceneViewController中爲它創建了一個插座。如何從一個不同的視圖控制器在一個場景中設置標籤文本

- (IBAction)startSegue:(id)sender { 
    [self performSegueWithIdentifier:@"toNewScene" sender:sender];  
    } 

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 
    ViewController *startingViewController; 
    NewSceneViewController *myDestinationViewController; 

    startingViewController=(ViewController *)segue.sourceViewController; 

    myDestinationViewController=(NewSceneViewController *)segue.destinationViewController; 
    [email protected]"HI"; 
    } 
+0

如果您正在使用故事板,然後嘗試設置實用程序區域的屬性檢查器中的標籤文本。 –

+0

我可以設置標籤文字。我試圖從視圖控制器中設置它 - 啓動segue的視圖。 –

回答

1

所以即時報廢我以前的答案......我四處遊玩,發現你實際上可以設置一個uilabels文本...得到這個......之後!你展示一個模態視圖控制器。

ModalViewController *modalVC = [ModalViewController alloc] initWithNibName:@"ModalViewController" bundle:nil]; 

modalVC.modalTransitionStyle = UIModalTransitionStyleCoverVertical; 

[self presentModalViewController:modalVC animated:YES]; 

modalVC.someLabel.text = @"what ever text you want..."; 

去圖。這可能也可以通過故事板來完成,但是需要手動覆蓋方法 prepareForSegue: & performSegueWithIdentifier:方法。

+0

非常感謝你。你已經放下心思了!我現在可以繼續教程。我以爲我錯過了一些東西。話雖如此,我注意到我可以在我正在實例化的視圖中設置背景顏色。我想我也可以設置標籤文本。 –

+0

我的猜測是因爲「視圖」首先被實例化,並且直到「viewWillAppear:」或「viewDidLoad:」纔會分配標籤。我認爲這可以通過試圖在「initWithNibName:」中設置標籤文本來證明它的價值。即使它不是靜態設置在該vc .m文件中,它仍然是您在界面構建器中設置的。 – DoS

相關問題