- 初期ビューコントローラーの設定方法:
Swiftで初期ビューコントローラーを設定するには、以下の手順を実行します。
1.1 メインストーリーボード(Main.storyboard)を開きます。 1.2 初期ビューコントローラーにしたいビューコントローラーを選択します。 1.3 属性インスペクター(Attributes Inspector)で、「Is Initial View Controller」オプションをチェックします。
これにより、指定したビューコントローラーがアプリの起動時に表示される初期ビューコントローラーとして設定されます。
- エラー解決方法:
2.1 error: ' Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Application tried to present modally an active controller '
上記のエラーメッセージは、ビューコントローラーが既に表示されている状態でモーダルビューを表示しようとした場合に発生します。このエラーを解決するには、以下の手順を実行します。
- モーダルビューを表示する前に、既に表示されているビューコントローラーを閉じるか非表示にします。
- モーダルビューの表示を遅延させるために、dispatchQueueを使用します。
以下に、コード例を示します。
// モーダルビューを表示するボタンがタップされた時のアクションメソッド
@IBAction func showModalButtonTapped(_ sender: UIButton) {
// 既に表示されているビューコントローラーを閉じる
self.dismiss(animated: true, completion: nil)
// モーダルビューの表示を遅延させる
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
let modalViewController = ModalViewController()
self.present(modalViewController, animated: true, completion: nil)
}
}
上記のコードでは、dismiss(animated:completion:)
メソッドを使用して既に表示されているビューコントローラーを閉じ、DispatchQueue.main.asyncAfter(deadline:execute:)
メソッドを使用してモーダルビューの表示を遅延させています。