問題タブ [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.

0 投票する
3 に答える
2321 参照

ios - self.window.rootViewController.presentedViewController が nil を返す

self.window.rootViewController.presentedViewController

利用可能なviewControllerがありますが、常にnilを返します。私が間違っているのかわかりません。

以下は完全なコードです-

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

ios - rootViewController を設定してから、プログラムで次のビューに移動します

ログイン後、最初は下に階層があります

ユーザーがアプリを閉じてから再入力すると、rootViewController は正しい CourseInfo UITabBarController になります。ただし、ユーザーが別のコースを表示する必要がある (コースを終了する) 場合、MyCoursesViewController はスタック上にないため、MyCoursesViewController に「戻る」ことはできません。

AppDelegate で:

MyCoursesViewController を rootViewController として配置し、コース情報 UITabBarController に自動的に移動して、MyCoursesViewController が戻ってきた (コースを終了した) 場合に備えて階層上にあるようにする方法はありますか?

または、ユーザーがコースを終了した場合 (反撃)、rootViewController を何らかの方法で削除し、新しい rootViewController に置き換えた方がよいでしょうか? もう 1 つのオプションは、rootViewController を置き換えるだけの場合、古いものはメモリから解放されるのでしょうか、それともまだどこかで参照されているのでしょうか?

例えば

CourseInfo UITabBarController は現在まだ rootViewController ですが、新しいものと交換します

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

ios - self.window で navigationController を使用して loginViewcontroller をプッシュできません

私はポイントを持っていpageViewControllerrootViewController、サインインしていない場合は上にログインビューを表示したいpageViewController.

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

ios - ルートメイクとしてNavigationControllerを使用するiOS、1つのコントローラーのみランドスケープ

ルート コントローラーが UINavigationController であるアプリがあります。1 つのボタンを押すと、別のビュー コントローラーがプッシュされます。もう 1 つプッシュすると、Overlay を使用して AVCaptureSession が開始されます。そのビューが欲しいのですが、そのビューは縦向きではなく横向きのみです。さまざまなチュートリアルを見てきましたが、何も機能していません。

私が得た最も近いものは次のとおりです。

ビューでDidAppear。ただし、いくつかの問題があります。1 つ目は、すぐにポートレートに戻ることです。2 つ目は、他のビューはすべて縦向きと横向きにすることができますが、私はそれを望んでいません。助けが必要です、お願いします。

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

ios - インスタンス化後に現在の ViewController を削除し、次の VC を提示します

iOS プロジェクト XCode には、VC1 と VC2 の 2 つの VC があります。私がやりたいのはVC1で、VC2に移動するためのボタンを使用することです

VC2 が表示されたら、VC1 に戻る必要はないので、VC1 にはまだバックグラウンドで実行される可能性のあるダウンロード機能があるため、VC1 を完全に削除したいと考えています。だから私はVC1を削除したい。私は次のことを試しました:

ただし、バックグラウンドでのダウンロードがまだ進行中であるため、それではうまくいかないようです。それを行う簡単な方法はありますか?この場合、ナビゲーションコントローラーを含めたくありません。

0 投票する
3 に答える
262 参照

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 が最初のビュー コントローラーでない場合に、この機能を動作させる方法はありますか?

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

ios - アプリがアニメーションなしで回転するのはなぜですか?

アニメーション化されたスプラッシュスクリーンとメイン インターフェイスを備えたアプリがあります。

スプラッシュスクリーンからメイン インターフェイスに移行するには、次のコードを使用しました。

しかし、どうやらこの方法は自動回転を台無しにします (それを見つけるのにしばらく時間がかかりました)。今、このオートローテーションがアニメーションではないという問題があります。

古いビューコントローラーはまだ他のビューコントローラーの下にあり、新しい向きを転送するだけなので、これはアニメーションではないと思います。

古いViewControllerを破棄して回転を維持しながら、あるViewControllerから次のViewControllerに適切に移行するにはどうすればよいですか?

編集:アプリを閉じるとホーム画面が回転することに気付きました (起動時の向きからアプリを閉じたときの向きまで)

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

ios - Swift で RootViewController タイプを変更する

わかりました、私はチュートリアルに従っていますが、それを完了しました。すべて正常に動作します。ただし、読み込まれる最初のビューは UITableViewController であり、UIViewController が必要です。

そのためのコードは次のとおりです。

この行を編集してみました:

に:

しかし、その後、次のエラーが表示されます。

呼び出しの引数ラベルが正しくありません (「rootViewController:」があり、「coder:」が必要です)

次に、「修正する」ように求められるので、修正します。これにより、行が次のように変更されます。

しかし、これでエラーがスローされます。

タイプ「ViewController」の値を予期される引数タイプ「NSCoder」に変換できません

私も試しました:

しかし、それで、シミュレーターは真っ暗になります。

質問を明確にする:

アプリに読み込まれる最初のビューを UIViewController タイプにするにはどうすればよいですか?

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

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

}