問題タブ [rootviewcontroller]
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 - self.window.rootViewController.presentedViewController が nil を返す
self.window.rootViewController.presentedViewController
利用可能なviewControllerがありますが、常にnilを返します。私が間違っているのかわかりません。
以下は完全なコードです-
ios - rootViewController を設定してから、プログラムで次のビューに移動します
ログイン後、最初は下に階層があります
ユーザーがアプリを閉じてから再入力すると、rootViewController は正しい CourseInfo UITabBarController になります。ただし、ユーザーが別のコースを表示する必要がある (コースを終了する) 場合、MyCoursesViewController はスタック上にないため、MyCoursesViewController に「戻る」ことはできません。
AppDelegate で:
MyCoursesViewController を rootViewController として配置し、コース情報 UITabBarController に自動的に移動して、MyCoursesViewController が戻ってきた (コースを終了した) 場合に備えて階層上にあるようにする方法はありますか?
または、ユーザーがコースを終了した場合 (反撃)、rootViewController を何らかの方法で削除し、新しい rootViewController に置き換えた方がよいでしょうか? もう 1 つのオプションは、rootViewController を置き換えるだけの場合、古いものはメモリから解放されるのでしょうか、それともまだどこかで参照されているのでしょうか?
例えば
CourseInfo UITabBarController は現在まだ rootViewController ですが、新しいものと交換します
ios - self.window で navigationController を使用して loginViewcontroller をプッシュできません
私はポイントを持っていpageViewController
てrootViewController
、サインインしていない場合は上にログインビューを表示したいpageViewController
.
ios - ルートメイクとしてNavigationControllerを使用するiOS、1つのコントローラーのみランドスケープ
ルート コントローラーが UINavigationController であるアプリがあります。1 つのボタンを押すと、別のビュー コントローラーがプッシュされます。もう 1 つプッシュすると、Overlay を使用して AVCaptureSession が開始されます。そのビューが欲しいのですが、そのビューは縦向きではなく横向きのみです。さまざまなチュートリアルを見てきましたが、何も機能していません。
私が得た最も近いものは次のとおりです。
ビューでDidAppear。ただし、いくつかの問題があります。1 つ目は、すぐにポートレートに戻ることです。2 つ目は、他のビューはすべて縦向きと横向きにすることができますが、私はそれを望んでいません。助けが必要です、お願いします。
ios - インスタンス化後に現在の ViewController を削除し、次の VC を提示します
iOS プロジェクト XCode には、VC1 と VC2 の 2 つの VC があります。私がやりたいのはVC1で、VC2に移動するためのボタンを使用することです
VC2 が表示されたら、VC1 に戻る必要はないので、VC1 にはまだバックグラウンドで実行される可能性のあるダウンロード機能があるため、VC1 を完全に削除したいと考えています。だから私はVC1を削除したい。私は次のことを試しました:
ただし、バックグラウンドでのダウンロードがまだ進行中であるため、それではうまくいかないようです。それを行う簡単な方法はありますか?この場合、ナビゲーションコントローラーを含めたくありません。
ios - AppDelegate ウィンドウをいじることなく、別の UIViewController の背後にある UIViewController を表示する方法はありますか?
私が本当に楽しんでいるライブラリがここにあります ( https://github.com/pixyzehn/MediumMenu )。
基本的に、次のことを行います。
奥のメニューは実はUIViewControllerです。ソースコードを掘り下げると、次の非常に重要なコードが見つかります。
最初の数行はそれほど重要ではありませんが、最後の行 ( を扱う行UIApplication.sharedApplication().delegate?.window??
は、このライブラリが機能するための鍵となりますが、ライブラリを制限します。
これらの行によると、メニューを表示する UIViewController を作成しrootViewController
、メニュー ビューをウィンドウのインデックス 0 に追加します (これが、メニュー ビューを後ろに配置するものだと思います)。contentController
)。
ライブラリの問題:
ライブラリは、最初のView Controllerにメニューが必要な場合にのみ機能します。ある意味では、contentController がすでに rootViewController である場合のみです。私のアプリでは実際に機能しますが、元の UIViewController は階層にないため、元の UIViewController に戻ることはできません。
Login View Controller があるシナリオがあります。ログインに成功すると、メニューが必要な UINavigationController に移動します。問題の最初の明確な兆候は、「警告: ビューがウィンドウ階層にない LoginViewController に UINavigationController を提示しようとしています!」という苦情が表示されることです。明らかに、rootViewController を再割り当てしているため、ウィンドウ階層にはありません。
これを修正する方法がわかりません。メニューを表示したい UIViewController が最初のビュー コントローラーでない場合に、この機能を動作させる方法はありますか?
ios - アプリがアニメーションなしで回転するのはなぜですか?
アニメーション化されたスプラッシュスクリーンとメイン インターフェイスを備えたアプリがあります。
スプラッシュスクリーンからメイン インターフェイスに移行するには、次のコードを使用しました。
しかし、どうやらこの方法は自動回転を台無しにします (それを見つけるのにしばらく時間がかかりました)。今、このオートローテーションがアニメーションではないという問題があります。
古いビューコントローラーはまだ他のビューコントローラーの下にあり、新しい向きを転送するだけなので、これはアニメーションではないと思います。
古いViewControllerを破棄して回転を維持しながら、あるViewControllerから次のViewControllerに適切に移行するにはどうすればよいですか?
編集:アプリを閉じるとホーム画面が回転することに気付きました (起動時の向きからアプリを閉じたときの向きまで)
ios - Swift で RootViewController タイプを変更する
わかりました、私はチュートリアルに従っていますが、それを完了しました。すべて正常に動作します。ただし、読み込まれる最初のビューは UITableViewController であり、UIViewController が必要です。
そのためのコードは次のとおりです。
この行を編集してみました:
に:
しかし、その後、次のエラーが表示されます。
呼び出しの引数ラベルが正しくありません (「rootViewController:」があり、「coder:」が必要です)
次に、「修正する」ように求められるので、修正します。これにより、行が次のように変更されます。
しかし、これでエラーがスローされます。
タイプ「ViewController」の値を予期される引数タイプ「NSCoder」に変換できません
私も試しました:
しかし、それで、シミュレーターは真っ暗になります。
質問を明確にする:
アプリに読み込まれる最初のビューを UIViewController タイプにするにはどうすればよいですか?
ios - iOS 10 の起動時にアプリがクラッシュする
起動時にアプリがクラッシュするなどの問題に直面しています。RootViewController に移動しようとしていますが、アプリが頻繁にクラッシュします。以下のクラッシュ レポートを確認してください。特に iOS 10 でのみアプリがクラッシュします。
- なにか提案を
バンドルに NIB をロードできませんでした: 'NSBundle (loaded)' という名前の 'RootViewController' 2016-10-21 18:59:45.588010 Dragon Inn[796:175032] 完全なトレース: 0 Dragon Inn 0x00000001000518f0 -[StackTracer generateTraceWithMaxEntries:] + 104 1 Dragon Inn 0x00000001000A5AC4ハンドルエクセプション + 120 2 CoreFoundation 0x000000018975C540 + 644 3 libobjc.a.dylib 0x0000000188194838 +dylib 0x000000018819471c objc_exception_rethrow + 44 7 CoreFoundation 0x00000001896360bc CFRunLoopRunSpecific + 560 8 GraphicsServices 0x000000018b0b9198 GSEventRunModal + 180 9 UIKit 0x000000018f610628 + 684 10 UIKit 0x000000018f60b360 UIApplicationMain + 208 11 Dragon Inn 0x000000010007ff14 main + 124 12 libdyld.dylib 0x00 2016-10-21 18:59:51.327601 Dragon Inn[796:175032] Condensed Intelligent Trace: handleException __cxa_rethrow objc_exception_rethrow CFRunLoopRunSpecific GSEventRunModal UIApplicationMain main libc++abi.dylib: terminate_handler が予期せず例外をスローしましたterminate_handler が予期せず例外をスローしましたterminate_handler が予期せず例外をスローしました175032] Condensed Intelligent Trace: handleException __cxa_rethrow objc_exception_rethrow CFRunLoopRunSpecific GSEventRunModal UIApplicationMain main libc++abi.dylib: terminate_handler が予期せず例外をスローしました175032] Condensed Intelligent Trace: handleException __cxa_rethrow objc_exception_rethrow CFRunLoopRunSpecific GSEventRunModal UIApplicationMain main libc++abi.dylib: terminate_handler が予期せず例外をスローしました
APDELEGATE.m
}