3

最初の画面としてViewControllerがあり、次にナビゲーションViewController内にViewControllerが埋め込まれているプロジェクトがあります。また、最初の画面にボタンがあり、クリックするとナビゲーションコントローラー画面を開きます。

ボタンをクリックしてから「接続インスペクター」をクリックし、そのナビゲーションコントローラーにプッシュイベントを追加しましたが、セグエは発生していません。どうすればそれを達成できますか?

解決

最後に少し研究した後、私はなんとかこのことを機能させることができました。これが私が使用しているコードです:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    NSLog(@"Source Controller = %@", [segue sourceViewController]);
    NSLog(@"Destination Controller = %@", [segue destinationViewController]);
    NSLog(@"Segue Identifier = %@", [segue identifier]);
    
    if ([segue.identifier isEqualToString:@"mysegue"])
    {
        NSLog(@"coming here");
        
     SecondViewController *loginViewController = (SecondViewController *)segue.destinationViewController;
        
       //SecondViewController *navigationController = [[UINavigationController alloc]init];
        
        [self presentModalViewController:loginViewController animated:YES];
        
        
    }
    
}
4

1 に答える 1

0

埋め込みビュー コントローラへのナビゲーション コントローラの接続が正しく設定されていますか? 最初のビュー コントローラーはスタイル セグエを使用してナビゲーション コントローラーに接続する必要がPushあり、ナビゲーション コントローラーはスタイル セグエを使用して 2 番目のビュー コントローラーに接続する必要がありますRelationship

とにかく、公式の Apple チュートリアルの 1 つがまさにこれを行っているので、コードを比較して違いがあるかどうかを確認できるかもしれません: Your Second iOS App。メソッド自体は、prepareForSegueセグエの起動には実際には関与しません。新しいView Controllerを準備するためにセグエが実行される前に呼び出されます。

于 2012-05-14T14:14:54.587 に答える