0

セグエを実行する前にいくつかのパラメータを設定する必要があるので、CUSTOM SEGUE を使用する必要がありますよね? この場合、画面から別の画面への遷移をアニメーション化しますが、NavigationController を持っていません (そして、挿入したくありません!)

NavigationController を使用せず、カスタム セグエでビューを変更することは可能ですか?

別の方法として、ボタンのアクションを設定し、セグエを実行する前にいくつかの行のコードを実行する可能性はありますか? 私はこの解決策を見つけました:

  • (IBAction)showDetailView:(id)送信者 {

    //コード

    .....

    [self performSegueWithIdentifier:@"ShowDetail" 送信者:送信者];

}

ただし、ナビゲーションコントローラーが必要です...

すべてに感謝し、私の悪い英語を申し訳ありません!

4

1 に答える 1

0

ストーリーボードでセグエを作成するときは、「プッシュ」ではなく「モーダル」を選択します (カスタムとは、必要ないと思われる 3 番目のタイプを指します)。セグエを選択し、属性インスペクターを使用して名前を付けます。私のコード例では、「editTitleBlock」という名前を使用しています。

宛先ビュー コントローラー (モーダル ビュー コントローラー) でプロパティを設定するには、次のように、最初のビュー コントローラーに prepareForSegueMethod を配置します。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"editTitleBlock"])  {
        [[segue destinationViewController] setTitleFieldString: @""];
        [[segue destinationViewController] setAltitudeFieldString:currentLocation.localizedAltitudeString];
        [[segue destinationViewController] setLocationFieldString:currentLocation.localizedCoordinateString];
        [[segue destinationViewController] setAuthorString:userName];

    if ([[segue identifier] isEqualToString:@"cancel"])  {
        // do nothing special
    }
}

最初のView Controllerに戻るには、次を使用します。

[self dismissModalViewController animated:YES];
于 2012-02-21T19:47:57.417 に答える