[解決済み] rootViewControllerとアニメーションを入れ替える?
2023-04-05 14:51:08
質問
タブバーを持つ別のルートビューコントローラに、アプリデリゲート経由で切り替え、遷移アニメーションを追加したいのですが、どうすればよいでしょうか?デフォルトでは、アニメーションなしでビューを表示するだけです。
let tabBar = self.instantiateViewController(storyBoard: "Main", viewControllerID: "MainTabbar")
let appDelegate = UIApplication.shared.delegate as! AppDelegate
appDelegate.window = UIWindow(frame: UIScreen.main.bounds)
appDelegate.window?.rootViewController = tabBar
appDelegate.window?.makeKeyAndVisible()
こうして別のルートビューコントローラーに入れ替わりました。
どのように解決するのですか?
この場合
UIView.transition(with: view)
を置き換えるために
rootViewController
の
UIWindow
:
guard let window = UIApplication.shared.keyWindow else {
return
}
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "MainTabbar")
// Set the new rootViewController of the window.
// Calling "UIView.transition" below will animate the swap.
window.rootViewController = vc
// A mask of options indicating how you want to perform the animations.
let options: UIView.AnimationOptions = .transitionCrossDissolve
// The duration of the transition animation, measured in seconds.
let duration: TimeInterval = 0.3
// Creates a transition animation.
// Though `animations` is optional, the documentation tells us that it must not be nil. ¯\_(ツ)_/¯
UIView.transition(with: window, duration: duration, options: options, animations: {}, completion:
{ completed in
// maybe do something on completion here
})
関連
-
[解決済み] Swift 1.2では、宣言は「final」と「dynamic」の両方にはなり得ないというエラーがある
-
[解決済み] Swiftのリバースレンジ
-
[解決済み] Swiftで複数のカスタムセルを持つUITableview
-
[解決済み] Swiftでbutton.addTargetアクションにパラメータを付ける
-
[解決済み] Swift の @escaping と Completion ハンドラ
-
[解決済み] SwiftでNSDatesの秒数の差を整数値で求める。
-
[解決済み] ラウンドトリップスウィフト番号の種類は、データとの間で
-
[解決済み] カスタムイニシャライザを持つSwift enumはrawValueイニシャライザを失う
-
[解決済み] Swiftによる文字列中の部分文字列のインデックス
-
[解決済み] Swiftで汎用プロトコルを作成するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Swiftで警告を消すには?
-
[解決済み] Swiftのリバースレンジ
-
[解決済み] 非'@objc'メソッドは'@objc'プロトコルのオプション要件を満たしていない
-
[解決済み] swiftにおける "precondition "と "assert "の違いとは?
-
[解決済み] SwiftUIで条件付きでビューを使用する
-
[解決済み] swift で文字列から数字以外の文字を削除する
-
[解決済み] Swiftで失敗しないイニシャライザーを実装するためのベストプラクティス
-
[解決済み] swift 3.0 Data to String?
-
[解決済み] Xcode playgrounds が Sources フォルダにある swift ファイルにアクセスできない。
-
[解決済み] SwiftUIでリストの背景色を変更するには?