[解決済み] iOSでSwiftを使ってビューコントローラを右から左へ表示する方法
2023-02-07 11:38:10
質問
presentViewControllerを使って新しい画面を表示しています。
let dashboardWorkout = DashboardWorkoutViewController()
presentViewController(dashboardWorkout, animated: true, completion: nil)
これは新しい画面を下から上へ表示するものですが、右から左へ表示させるために
UINavigationController
.
ストーリーボードの代わりにXibを使っているのですが、どうすればいいのでしょうか?
どのように解決するのですか?
それは、もしそれが
xib
であっても
storyboard
を使用します。通常、右から左への遷移は、ビューコントローラをpresentorの
UINavigiationController
.
アップデイト
タイミング機能追加
kCAMediaTimingFunctionEaseInEaseOut
サンプルプロジェクト と Swift 4 の実装をGitHubに追加しました。
Swift 3 & 4.2
let transition = CATransition()
transition.duration = 0.5
transition.type = CATransitionType.push
transition.subtype = CATransitionSubtype.fromRight
transition.timingFunction = CAMediaTimingFunction(name:CAMediaTimingFunctionName.easeInEaseOut)
view.window!.layer.add(transition, forKey: kCATransition)
present(dashboardWorkout, animated: false, completion: nil)
ObjC
CATransition *transition = [[CATransition alloc] init];
transition.duration = 0.5;
transition.type = kCATransitionPush;
transition.subtype = kCATransitionFromRight;
[transition setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[self.view.window.layer addAnimation:transition forKey:kCATransition];
[self presentViewController:dashboardWorkout animated:false completion:nil];
Swift 2.x
let transition = CATransition()
transition.duration = 0.5
transition.type = kCATransitionPush
transition.subtype = kCATransitionFromRight
transition.timingFunction = CAMediaTimingFunction(name:kCAMediaTimingFunctionEaseInEaseOut)
view.window!.layer.addAnimation(transition, forKey: kCATransition)
presentViewController(dashboardWorkout, animated: false, completion: nil)
のようです。
animated
のパラメータは
presentViewController
メソッドのパラメータは、このカスタムトランジションの場合、特に重要ではありません。これはどのような値でもよく
true
または
false
.
関連
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] 制約条件の変更をアニメーションで表現するには?
-
[解決済み] 文字列の長さを取得する
-
[解決済み] 奇妙な不要なXcodeログを隠す
-
[解決済み] iPhone UITextField - プレースホルダーの文字色を変更する
-
[解決済み] IBOutletsはARCのもとで強くなるべきか、弱くなるべきか?
-
[解決済み] UITextFieldの最大文字数を設定します。
-
[解決済み] SwiftでiOSキーボードを任意の場所でタッチして閉じる
-
[解決済み] iOS 13でダークモードをオプトアウトすることは可能ですか?
-
[解決済み] iOS 11、Apple TV 4Kなどを搭載したXcode 9でワイヤレスデバッグを行う方法とは?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
dyld: ライブラリがロードされていません。エラーの解決
-
[解決済み] App Storeのアプリと連動させる方法
-
[解決済み] 奇妙な不要なXcodeログを隠す
-
[解決済み] iPhone UITextField - プレースホルダーの文字色を変更する
-
[解決済み] アプリのプレビュー用にiOSシミュレータのビデオをキャプチャー
-
[解決済み] インポート vs #インポート - iOS 7
-
[解決済み] iOS 13でダークモードをオプトアウトすることは可能ですか?
-
[解決済み] Swift で HTTP リクエストを行うにはどうしたらいいですか?
-
[解決済み] コア・データ エンティティの全インスタンスを削除する最短の方法
-
[解決済み】ナビゲーションベースのアプリでPushとPopのアニメーションを変更する方法