2012-05-04 13 views
1

私は24時間でサムのXcodeを読んでおり、セグを練習しています。私は次のコードを使用して1つのセグを開始しました:
しかし、私の目的地ビュー内の私のラベルのテキストが設定されていないことがわかりました。しかし私はNewSceneViewControllerにそれのためのアウトレットを作りました。別のビューコントローラから1つのシーンのラベルテキストを設定する方法

- (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

ストーリーボードを使用している場合は、ユーティリティーエリアの属性インスペクターからlabel-textを設定してみてください。 –

+0

ラベルのテキストを設定できます。私はView Controllerから設定しようとしています - 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..."; 

go figure。これはおそらくストーリーボードでも可能ですが、手動で prepareForSegue: & performSegueWithIdentifier:のメソッドを上書きする必要があります。

+0

ありがとうございました。あなたは私の心を休ませてくれました!今チュートリアルを続けることができます。私は何かが足りないと思った。私がインスタンス化しているビューで背景色を設定できることがわかりました。私はラベルのテキストを設定することもできると思った。 –

+0

「ビュー」が最初にインスタンス化され、ラベルが「viewWillAppear:」または「viewDidLoad:」まで割り当てられないため、私の推測があります。私はこれが "initWithNibName:"にラベルのテキストを設定しようとすることによって証明できると思います。そのvc .mファイルに静的に設定されていないにもかかわらず、それはあなたがそれがインターフェースビルダーで設定されていたものです。 – DoS

関連する問題