問題タブ [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 投票する
2 に答える
1647 参照

ios - Swift iOS - セグエのクラッシュを巻き戻す

私は現在、ユーザーがViewController負けるとすぐにユーザーが取られるゲームのセクションに取り組んでいます。これは私のGameOverViewController.

2 番目のビュー コントローラーのセットアップに成功しました。インタースティシャル広告GameOverViewControllerが読み込まれるとほぼ瞬時に実行されreplayます。ボタンは、インタースティシャル広告が閉じられるとアクティブになります。

リプレイ ボタンが押されるとアプリがクラッシュします。遅延を追加する前は問題なく動作していたので、新しいコードに関係があると推測しています。リプレイ ボタンがアンワインド セグエを実行している (またはしようとしている) 場合、解決を手伝ってくれる人はいますか?

ボタンは 3 秒間正しくグレー表示されてから青色に変わりますが、クリックすると viewController がハングしてクラッシュします。エラーは、SIGABRT エラーで AppDelegate を起動します。これは出力フィールドからの抜粋です...

これが私の GameViewController のコードです。現在、このアンワインドに関連する他のコードはありません。ViewController

どんな助けでも素晴らしいでしょう、ありがとう。

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

ios - コード化されたボタンからセグエをほどく - すばやい

ユーザーがオプションを選択する必要があるコントローラーから戻るために、アンワインド セグエを使用しようとしています。

メインコントローラーでは、ユーザーはボタンをタッチして、プログラムでボタン (オプション) を構築する 2 番目のビューコントローラーに誘導できます。ユーザーがボタンの 1 つを選択したら、前のコントローラーに戻ってボタン データを渡すようにします。

巻き戻しセグエを機能させる方法が見つかりません。

2番目のView Controllerにあるものは次のとおりです。

コントローラーをストーリーボードの終了ボタン (関数の選択prepareForUnwind) にリンクし、unwindSegue に識別子を付けました " BackToPhraseSegue"

何が足りないの...

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

ios - iOS Swift - ボタンを押した後にアプリケーション全体を更新する

ChangeViewControllerユーザーが自分のプロファイルに関する情報を変更できるようにする、モーダルに表示されたView Controllerが呼び出されました。ユーザーが完了したら、[ACCEPT CHANGES] ボタンが押され、アンワインド セグエを使用して終了しChangeViewController、メイン画面に戻ります。

このアンワインド セグエを実行する前に、アプリ全体のデータを更新することはできますか? 現在、ホーム画面およびその他の画面の情報は、ユーザーの変更後も変更されていません。アプリの再起動後にのみ情報が更新されます。すべてのView Controllerが最新の状態になるように、プログラムで「再起動」する方法はありますか? viewDidLoadより具体的には、データが更新されるようにすべてのビュー コントローラーの関数を呼び出す方法はありますか?

Swift でのソリューションが推奨されます。ありがとうございました!

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

ios - iOS - アンワインド セグエでアニメーションの種類を制御する方法は?

私は現在、3つのビューを持つアプリを持っています

  1. 画面 1 - 「show」セグエを使用して画面 2 に移動します
  2. 画面 2 - 「モーダル」セグエを使用して画面 3 に移動します
  3. 画面 3

画面 1 に巻き戻しセグエがあり、画面 2 と画面 3 からこの巻き戻しセグエを呼び出します。

現在、画面 3 から画面 1 のアンワインド セグエを呼び出すと、閉じているモーダル ビューとしてアニメーション化されます。

画面が通常のナビゲーション スタックからポップしたときなど、このアンワインド セグエを標準の「ポップ」セグエにアニメーション化することは可能ですか?

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

xcode - 別のナビゲーション スタックでの viewController への巻き戻しが機能しない

ここに画像の説明を入力

図からわかるように、viewController 間のメニューとして機能する右側の viewController に 2 つの viewController を接続しようとしています。

アプリが最初に実行されると、最初のビュー コントローラーが一番上に読み込まれます。ボタンはメニューをモーダルに表示し、押されたボタンに応じて (さらに追加する予定です)、対応する viewController が表示されます。VC2が最初に押されると、2番目のviewControllerがロードされますが、メニューが再度呼び出されてVC2が押されると、View Controllerをリロードする代わりに巻き戻したいです。

最初のviewControllerに巻き戻すことができましたが、2番目のviewControllerに巻き戻そうとすると、アクションは無視されます。どうぞよろしくお願いいたします。ありがとうございました。

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

ios - セグエの巻き戻し - アニメーションの完了を検出する

アンワインドセグエを使うのが大好きですが、問題が発生しました...

子をモーダルに表示する親コントローラー(Homeと呼びます)があります( Detailと呼びます)。

詳細コントローラーには、コア データ エンティティのコレクションを表示するテーブルビューがあり、[削除] ボタンがあります。タップすると、これらのエンティティをすべて削除し、モーダルを閉じ、ホーム コントローラーを更新して、エンティティが削除されたことを示します。削除されました。

self.context.deleteObject(entity)テーブルビューが勢いよくスクロールできる十分なエンティティがあり、テーブルがまだ減速している間に [削除] ボタンがタップされた場合を除いて、アンワインド セグエが続く私の最初の試みはうまくいきました。これはクラッシュを引き起こします:(

私が理解できることから、エンティティを削除したばかりですが、tableview がまだスクロールしているため (終了アニメーションが完了している間)、tableView は (スクロールのために) 表示されようとしているセルをデキューしようとしますが、その後クラッシュします実体がなくなったからです。

  • モデル ビューが閉じられたときに viewDidAppear が呼び出された場合、そこで Home を更新できます (ただし、呼び出されません)。

  • アンワインド セグエに、アニメーションが完了したときに呼び出されたクロージャーがあった場合、そこに Home を更新できます (ただし、私が見つけることができる限りではありません)。

したがって、今のところ、手動​​でdismissViewControllerAnimatedクロージャーを呼び出して使用し、ホームコントローラーを更新しています...

これは機能しますが、間違っているように感じます (詳細コントローラーがホームコントローラーについて知る必要があるのは「悪い」と感じているためだと思います)。より良いアプローチについて何かアドバイスはありますか?

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

swift - Unwind Segue Swift からの UITextView の垂直方向の配置

UIView にテキストを表示するために UITextView を使用していますが、このビュー内でテキスト ブロックを垂直方向に配置する必要があります。

そのために、オンラインで見つけたオブザーバー メソッドを使用しましたが、ほとんどの場合、うまく機能します。

ビューでDidLoad:

次にオブザーバー:

私の問題は、このコントローラーをポップするメニュー コントローラーがあり、アンワインド セグエを使用してメニューから UITextView コントローラーに戻ることです。そうすると、テキスト ブロックは画面の上部に戻ります。

アンワインド内にオブザーバーを追加しようとしましたが、効果がありません。ここで何かが恋しいですか?

ありがとう、