問題タブ [poptoviewcontroller]
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.
ios - アプリがバックグラウンドで実行されている場合、iOS 7.x での UINavigationController のプッシュ/ポップのバグ
mainWindow の rootViewController として UINavigationController を設定しました。
コードからビューコントローラーをプッシュおよびポップします (したがって、ユーザーの操作によってプッシュおよびポップがトリガーされることはありません)。
アプリケーションがフォアグラウンドにあるときにそれを行うと、すべてが正常に機能します。
しかし、アプリケーションがバックグラウンドで実行されているときにそれを行うと、正しい ViewController が表示されません。
この問題は、iOS 7.x でのみ再現可能です。
サンプル プロジェクトは、次のリンクにあります: https://www.dropbox.com/sh/pmxnpgtrjxwehs7/_l3NW4xllf
問題を再現するには、アプリをバックグラウンドにして 12 秒待ってから、アプリをフォアグラウンドに戻します。UINavigationBar の戻るボタンを使用してナビゲートすると、navigationController の rootView は表示されません (表示されるはずです): バックグラウンドはまだ緑色です。黄色ではありません (navigationController の rootViewController の背景は黄色です)。
アプリがフォアグラウンドにある場合、「aaaaa」というラベルの付いたボタンをタップすると同じナビゲーションが行われますが、完了すると、GUI は正しい状態になります。
簡単に言うと、これはアプリがフォアグラウンドにある場合は機能しますが、アプリがバックグラウンドにある場合は機能しません:
この問題をどのように解決できるか知っていますか?
前もって感謝します!
ios - モーダル ビュー コントローラー、閉じてビュー コントローラーに戻る
と呼ばれる ModaViewController を閉じようとしC
ていA
ます。ModalViewController は に示されていB
ます。したがって、ナビゲーション フローは A->B - (現在の ModalView) -> C ですModalViewController
。B に戻ることはできますが、完了ブラケットで A に戻ることはできません。これは私が試したコードです:
ModalViewController は閉じられますが、A に戻りません。このコード ブロックをIBAction
.
何かアドバイス?
2番目の注意として、コントローラー内のModalViewController
すべてを閉じると、空/割り当て解除されます。私もARCを使っています。UIPickers
B
ios - アニメーションなしでView Controllerにポップする方法
iPhone がロックされている間に発生するローカル通知イベントに応答して画像を表示したいと考えています。ユーザーが通知をスワイプすると、アプリが popToViewController:animated を介してルート ビュー コントローラーに移動し、画像を表示するビュー コントローラーをプッシュします。これは、animated = YES を設定すると機能します。アニメーション = NO の場合、ユーザーが [戻る] ボタンをタップしても、画像を表示するビュー コントローラーは応答しません。アニメーションなしで popToViewController を実行すると、イメージ ビュー コントローラーのナビゲーション コントロールが機能しない理由について何か考えはありますか? 前もって感謝します。
関連するコードは次のとおりです...
ios - popToRootViewController は、viewWillAppear の前に呼び出されます
行が選択されているときに、ポップバックして行のテキストを表形式で表示UITableviewController
したいと考えています。rootViewController
現在起こっていることはviewWillAppear
、関数が呼び出される前に通常のView Controllerが呼び出されているpopToRootViewController
ため、通常のView Controllerに移動するとテキストが表示されないことです。私も使ってみviewDidAppear
ましたがダメでした。これが私が試したコードです:
そして、通常のView Controllerで:
コンソールに表示されるのは、出力されることです
そして「行が選択されました」
この問題を解決するにはどうすればよいですか。また、popToRootViewController
別のView Controllerのボタンをタッチしてメソッドを呼び出すと、正常に動作します。問題は行の選択にあります。理由はわかりません。
事前にご協力いただきありがとうございます。ほんとうにありがとう。
ios - pop ビューコントローラーへ
Objective-C のコーディングは初めてで、 pop to を使用しようとしていますviewController
。ボタンがタップされたときにこれを行うには、使用します
そこにあることは知ってUIViewController*
いますが、これをどこで宣言し、どのコードを使用して宣言するのか疑問に思っています。
私の基本的なストーリーボードは、4つのビューコントローラーA、B、C、Dがあり、AはBにプッシュされたルートであり、Cにプッシュされ、Dにプッシュされ、ボタンはDにあり、Bにポップバックしようとしています。インデックスメソッドのオブジェクトは、常にうまくいくA->B->C->D
とは限らないA->C->B->D
ため、うまくいきません
だからうまくいかない。
事前に助けてくれてありがとう。この質問が基本的すぎる場合は申し訳ありません。
ios - popToRootViewController のときにビューが点滅する
popToRootViewController に問題があります。ルート ビュー A とテーブル ビュー B があります。テーブル ビューで行が選択されると、文字列に応じてルート ビューに文字列が返されます。Aのボタンのタイトルを変更します。
これの非常に単純なバージョンを作成し、次のリンクで gitHub に配置しました: https://github.com/spennyf/didSelect_test。シミュレーターの電話で実際にこれを実行するまで説明するのが非常に難しいため、これを行っています。そしてフラッシュを見る。なぜそれが起こっているのか、それを修正する方法はわかりません。以下のコードのほとんども投稿しますが、フラッシュを自分で見ることができれば、問題の説明に役立つと思います。コードは次のとおりです。
viewControllerA.h
viewControllerA.m
tableviewB.m
再び助けてくれてありがとう。
ios - [popviewcontroller] を使用してデータを返し、データをリロードする
上の図では、3 つのビュー コントローラーを示しています。
ビュー コントローラA、B、およびCを、表示されている順に呼び出しましょう。
ビュー コントローラー Aは、テーブル セルをクリックして、解析された JSON データを渡します。これで「総売上、値引きなど」が埋まります。prepareForSegueメソッドを使用して、 View Controller B内の文字列/ラベル 。
このデータは開始時間/終了時間に基づいており、セグエを実行するときのデフォルト パラメータは、当日の午前 8 時から午後 10 時までの情報を提供します。
解析文字列は次のようになります
View Controller Bの内部に、 「 Start Time 」というラベルの付いたボタンがあります。このボタンは、View Controller Cへのプッシュ セグエを開始します。この新しいView Controllerでは、日付と時刻を選択でき、日付ピッカーの上のUILabelに表示されます。日付ピッカーの下のボタンは IBAction であり、
私の質問は次のとおりです: View Controller Cで日付/時刻を選択し、ボタンを押して、 UILabel にあるその情報をView Controller Bに送信して、解析された情報を更新するために使用できるようにするにはどうすればよいですか?
これを行う方法の 1 つは、ボタンをView Controller Bにセグエし、日付/時刻の選択に基づいて情報を再解析することですが、それはあまりにも多くの「ナビゲーション コントローラーのスタック」を引き起こし、そうではありません。私には効率的に思えます。
任意の提案をいただければ幸いです。
objective-c - iOS7 - popToRootViewControllerAnimated が何もしない
私は周りを見回しましたが、満足のいく答えは見つかりませんでした。私の問題は、私が呼び出すたびに popToRootViewControllerAnimated:(BOOL)
何もしていないことです。NSLog すると、ログに記録され(null)
ます。ここで少し話を戻します。私は物事のリストを持つテーブルビューコントローラーを持っています。上部のナビゲーションバーには追加するオプションがあり、プリンシパルまたはメインを取り除くセグエ「PopOverとして存在」を持つ新しいビューコントローラーに移動しますナビゲーションバー。そこで手動で作って「キャンセル」と「追加」の2つのバーボタン項目を追加しました。[キャンセル] がタップされると、ユーザーはテーブル ビュー コントローラーに戻り、変更が破棄されます。[追加] ボタンがタップされると、ユーザーは以前のテーブル ビュー コントローラーに戻り、変更が反映されます。しかし、それは何もしていません。
これが私のコードです。
セグエに関する限り、このView Controllerは何にも接続されていませんか、接続する必要がありますか? これは確かに初歩的な質問です。これが私のxcodeのスクリーンショットです。
ストーリーボードのスクリーンショットについては、このリンクを確認してください http://i.stack.imgur.com/lqnCF.png
swift - popToViewController エラーを表示するためにポップできませんでした
次のコードを使用しています。
この関数はカスタムの戻るボタンにリンクされており、h ファイルは object-c/swift ブリッジング ファイルにリンクされています。これに関する問題は、次のようなエラーが発生することです。
2014-07-19 23:35:40.842 FoodForTeeth[9040:238499] * -[UINavigationController popToViewController:transition:] でのアサーションの失敗、/SourceCache/UIKit_Sim/UIKit-3232.3/UINavigationController.m:5345 2014-07-19 23: 35:40.845 FoodForTeeth[9040:238499] *キャッチされない例外「NSInternalInconsistencyException」が原因でアプリを終了しています。理由:「ポップされたビュー コントローラーを取得できませんでした。」 *最初のスロー コール スタック: ( 0 CoreFoundation 0x00000001023ec995ExceptionPreprocess + 165 1 libobjc.a.dylib 0x00000001020209b9a3 objc_exception_throw + 45 2 Corefoundation 0x00000001023ec7fa + [nsexception Raise:Format:] + 106 3 Foundation 0x00000101ck637f:nsassert: -[UINavigationController popToViewController:transition:] + 762 5 FoodForTeeth 0x00000001000272fe _TFC12FoodForTeeth9dietDiary9popToRootfS0_FCSo15UIBarButtonItemT_ + 302 6 FoodForTeeth 0x00000001000274f2 _TToFC12FoodForTeeth9dietDiary9popToRootfS0_FCSo15UIBarButtonItemT_ + 66 7 UIKit 0x00000001009f76b6 -[UIApplication sendAction:to:from:forEvent:] + 75 8 UIKit 0x00000001009f76b6 -[UIApplication sendAction:to:from:forEvent:] + 75 9 UIKit 0x0000000100af91c0 -[UIControl _sendActionsForEvents:withEvent:] + 467 10 UIKit 0x0000000100af858f -[UIControl touchesEnded:withEvent:] + 522 11 UIKit 0x0000000100a3c3b8 -[UIWindow _sendTouchesForEvent:] + 735 12 UIKit 0x0000000100a3cce3 -[UIWindow sendEvent:] + 683 13 UIKit 0x0000000100a0a1a1 -[UIApplication sendEvent:] + 246 14 UIKit 0x0000000100a1707a _UIApplicationHandleEventFromQueueEvent + 17591 15 UIKit 0x00000001009f3269 _UIApplicationHandleEventQueue + 1967 16 CoreFoundation 0x0000000102322a31 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION] + 246 14 UIKit 0x0000000100a1707a _UIApplicationHandleEventFromQueueEvent + 17591 15 UIKit 0x00000001009f3269 _UIApplicationHandleEventQueue + 1967 16 CoreFoundation 0x0000000102322a31 __CFUNCAPER_OURIS_FFORMS_CALLING_OUT_TOCE0] + 246 14 UIKit 0x0000000100a1707a _UIApplicationHandleEventFromQueueEvent + 17591 15 UIKit 0x00000001009f3269 _UIApplicationHandleEventQueue + 1967 16 CoreFoundation 0x0000000102322a31 __CFUNCAPER_OURIS_FFORMS_CALLING_OUT_TOCE0+ 17 17 CoreFoundation 0x000000010231826d __CFRunLoopDoSources0 + 269 18 CoreFoundation 0x00000001023178a4 __CFRunLoopRun + 868 19 CoreFoundation 0x00000001023172d6 CFRunLoopRunSpecific + 470 20 GraphicsServices 0x0000000105475bbc GSEventRunModal + 161 21 UIKit 0x00000001009f6288 UIApplicationMain + 1282 22 FoodForTeeth 0x0000000100054db3 main + 115 23 libdyld.dylib 0x0000000102b45145 start + 1 ) libc++ abi.dylib: タイプ NSException (lldb) のキャッチされない例外で終了します
何がうまくいかないのですか?