2013-03-11 123 views
0

我正在開發iOS應用程序,使用Xcode 4.6在Objective-C中編寫代碼。我有兩個屏幕通過push segue連接。在第一個中,我有一個用戶填充的文本字段,第二個中有一個標籤,我想用第一個屏幕文本框填充標籤文本。我也有每個屏幕1類,所以我有FirstController.h,FirstController.m,SecondController.h,SecondController.m。更改標籤文本

回答

0

當您從第一個視圖控制器到第二個視圖控制器時,您可以將您的標籤作爲第二個視圖控制器中的屬性公開,然後在您的第一個視圖控制器的方法(您需要對此進行子類化)期間設置該標籤:

[UIViewController prepareForSegue: sender:]

+0

如何繼承子類?對不起,我是新來的Objective-C – 2013-03-11 02:32:37

+0

如果你有一個「SecondViewController」(它是「UIViewController」的子類),你已經被子類化了,許多初學者應用程序會自動附帶這個子類。聽起來你現在非常接近。你成功了嗎? – 2013-03-11 06:32:42

0

確保你已經創建了一個SEGUE。然後,您可以使用傳遞數據:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 

    SecondController *second = [segue destinationViewController]; 
    second.label.text = textBox.text; 

} 
+0

哦,謝謝!還有一個問題,即使當segue由IBAction按鈕控制時它是否工作?因爲現在當我按下控制繼續的按鈕時,我得到「線程1:信號SIGABRT」錯誤 – 2013-03-11 01:24:03

+0

我忘記標記你 – 2013-03-11 01:30:32

0

如果您有標籤的財產在你SecondViewController,您可以使用prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender方法來設置它的文本創建SecondViewController的實例,並要求其作爲

屬性後,
`secondViewController.myLabel.text = @"some text"; 

如果你有你的標籤爲一個實例變量,通過使用NSString爲標籤的文本到第二視圖中的文本作爲

`[email protected]"some text"; 

SecondViewController,在viewDidLoad方法中設置標籤的文字。