問題タブ [unwind-segue]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1940 参照

objective-c - ios8 巻き戻しセグエが UINavigationBarController および UITabBarController で機能しない (iOS 8.1 で修正済み)

Xcode 6 (ベータ 6) を使用して、iOS8 で iOS7 アプリのテストを開始しました。iOS 8 が「プッシュ」および「モーダル」セグエを廃止したことは承知していますが、すべてのセグエが機能していることがわかってうれしかったです... 1 つを除いて。

アプリが UINavigationController で UITabBarController を使用している場合、モーダル セグエからのアンワインドが壊れているように見えることを示すデモ アプリを作成しました。(別のアンワインド セグエの投稿を見ましたが、デモ アプリが obj-c を使用しているのに対し、swift を使用していました)。

これが私がより具体的に見ているものです: [UITabBarContoller] -> [UINavigationController] -> [SomeViewController] -(Modal Segue) -> [This ViewController Cannot Unwind]

興味深いことに、別のモーダル セグエを実行すると巻き戻すことができます。 ]

また、UITabBarController または UINavigationController のいずれかを削除すると巻き戻すことができることもわかりましたが、アプリの UI アーキテクチャ全体を変更する予定はありません :)

私が見る限り、ルート ビュー コントローラーは canPerformUnwindSegueAction:fromViewController:withSender: への呼び出しを受け取ることはありません。これは iOS7 で行われます。

私の質問: アンワインド セグエを機能させる別の方法はありますか?

読んでくれてありがとう。

デモコードはこちら: https://github.com/nmsasaki/UnwindDemo

アップデート

この問題は iOS8.1 で修正されたようです。(UINavigationController のカスタム サブクラスを作成する iOS 8.0 の回避策は引き続き機能します。)

0 投票する
0 に答える
119 参照

ios - 同じ UINavigationController に属さない 2 つの UIViewController 間のセグエを巻き戻す

現在、iPhone と iPad の両方で iOS アプリケーションを開発しています。UIViewController から他のものに戻るためにアンワインド セグエを使用しようとしていますが、同じ UINavigationController にはありません。(FilesPeriodViewController から FilesBatchViewController へ)ストーリーボードのスクリーンショット

同じ UINavigationController からではない 2 つの UIViewController の巻き戻しセグエを行うことは可能ですか?

通常のアンワインド セグエを使用しようとしましたが、動作しません。スローされるエラーは、UIViewController が同じ UINavigationController に属していないことです。

0 投票する
2 に答える
264 参照

ios - 2 つの異なる VC にプログラムでアンワインドする方法

3 つの ViewController がある状況があるとします。黄・緑・白のやつ。

黄色と緑の両方を通って白いものに到達できます。詳細については、画像を参照してください。

ここに画像の説明を入力

黄色から白にセグエするとき、セグエの準備をして、NSUinteger jimmy_hendrix 値を 0 に設定します。

から白にセグエするとき、セグエの準備をして、NSUinteger jimmy_hendrix 値を 1 に設定します。

白いVCの中にIBActionを作り、BACKボタンを接続しました。そこで、値に応じて、白い VC になってしまったセグエを巻き戻したいと思います。

これは私が使用するコードです:

しかし、例外があります:

これを明確にするために、使用した VC とセグエに基づいて、実行したいアンワインドが 2 つあるため、[戻る] ボタンから ctrl + ドラッグして終了し、アンワインド セグエ メソッドを選択したことはありません。

これに対する解決策は何ですか?そもそも目的地に到達するために使用した ViewvController に戻るにはどうすればよいですか?

重要: 白から黄、緑まで、新しいセグエを作成して呼び出すことができることを私は知っています。しかし、私はそれを望んでいません..新しいセグエを作成したくありません。既存のものをプログラムで巻き戻したいです。

編集:実際に緑と黄色のVCでアンワインドメソッドを作成したことを忘れていました

0 投票する
0 に答える
158 参照

ios - UIImagePickerController からの手動アンワインド セグエが失敗し、「Receiver has no segue with identifier」が表示されます

大規模な Universal アプリを Storyboard を使用するように変換する作業はほぼ完了しましたが、1 つの問題に悩まされています。カスタム UIImagePickerController のシーンを作成しましたが、そこから巻き戻す方法がわかりません。コントローラーを閉じることができることはわかっていますが、アンワインド プロセスを使用してイメージを元のソース ビュー コントローラーに戻したいと考えています。手動アンワインドを実行しようとすると、次の例外が発生します。

クラッシュログに呼び出しが表示されるのは興味深いと思います

[UIViewController shouldPerformSegueWithIdentifier:sender:]

しかし、そのメソッドを MyImagePickerController クラスに実装すると、呼び出されません。また、興味深いことに、クラッシュ時にビュー コントローラーの_storyboardSequeTemplatesプライベート プロパティは nil ですが、IB では視覚的に存在しています。

このエラーを示すデモ プロジェクトを Githubにアップロードしました。また、ビュー コントローラー間で通信するためにプロジェクトの他の場所で正常に使用したいくつかのアンワインド セグエ パターンも示しています。イメージを返すために古いデリゲート パターンを使用するのではなく、UIImagePickerController から手動のアンワインド セグエを使用することは可能ですか? もしそうなら、どのように?ありがとう。

0 投票する
1 に答える
41 参照

ios - iOS: 基準が無効で、[完了] ボタンが押された場合でも現在のビューにとどまる方法

ナビゲーションコントローラーに埋め込まれたビューコントローラーが1つあり、ピッカービューでいくつかの簡単な機能を実装しています。

また、Exit に接続されたアンワインド セグエを使用するバー ボタンが 1 つあります。ユーザーがその「完了」ボタンを押すと、最初のView Controllerに戻ります。これはうまく機能します。

私の問題は、ユーザーがピッカービューから何も選択せず、「完了」ボタンを押すと、最初のビューコントローラーに戻ることです。私はこれが起こることを望みません。 ビューコントローラー 私の期待は次のとおりです。ユーザーがピッカービューから何も選択しない場合、ユーザーはまだ「完了」ボタンを押しても、現在のビューコントローラーにとどまります。

誰かがそれを実現する方法を知っていますか? ありがとう!!

0 投票する
1 に答える
198 参照

objective-c - ストーリーボード - ビュー コントローラーにポップしてからプッシュすると、複数のプッシュが発生する

Objective C / iOS;

これに似たプロセスがあります (xcode ストーリーボードで設定)。

メニュー ビュー コントローラ->コードを入力->処理/検証->失敗したコードの提示ページ

(->) 矢印pushは、ストーリーボードのセグエ設定を示します

Enter in a code失敗した状態のとき、 View Controllerにポップしたい。

これにより、目的の VC に戻ります。

Enter codeページで送信を押すと、1回だけであるはずのときに、さらに3回または4回の「プッシュ」を行うことを除いて。

セグエを巻き戻す必要がありますか? ナビゲーション ビュー コントローラー スタックを空にしてみました。また、最後のアクティブなビュー コントローラーを削除しようとしました。どちらも、空白または黒いウィンドウ ビュー フレームを返します。

ナビゲーション スタックでビュー コントローラーをポップすると、ビュー コントローラーのセグエに影響を与えて、push segueアクションを実行しようとするたびに複数のビュー コントローラーをスタックにプッシュしようとするのはなぜですか?

0 投票する
1 に答える
130 参照

ios - UIWebView: ボタンなしでアンワインド セグエを使用して前のコントローラーにデータを送信する

たとえば、UIWebview があるとします。404 のステータス コードを取得した場合は、Web ページのリストを更新する必要があることを認識できるように、以前のビュー コントローラーにデータを返したいと考えています。

について聞きましたunwind segues。ただし、これで見つけたものはすべて、ストーリーボード ボタンを介して実装する必要があるように思えます。

コードだけで巻き戻しセグエを実行する方法はありますか。このエラーが見つかった場合の意味 - 次に、エラーを処理する方法を知るために、前のView Controllerにある種の変数を設定しますか?

ありがとう!

0 投票する
0 に答える
116 参照

ios - rootViewController を unwindSegue から変更する

私は、MenuViewController通常は を持っていますrootviewcontroller。私が使う

他のView ControllerからこのView Controllerに戻ります。ただし、ユーザーがローカル通知をクリックしてアプリを起動すると、アプリに が表示されますOtherViewController。私は次のようにします:

menu buttonアプリは予想される OtherViewController で開きますが、通常は をトリガーするをクリックするとunwindSegue、 に戻ることができませんMenuViewController。これを修正する方法について何か考えはありますか?

編集:プッシュセグエを使用してからに移動MenuViewControllerOtherViewControllerます。