質問: カスタムView(xib)を表示する際に、PresentModallySegueのように表示したいのです。 そのためにはStoryboardを利用せずにコードだけでSegueのモノマネをしなければなりません。 この方法は可能でしょうか? 可能であればどのように実装するかご教授お願い致します。
回答: 前提として、Viewではなく、ViewControllerの表示として回答しますが、 **可能**です。 UIViewControllerのpresent(_:animated:completion:)メソッドを使用してください。 なお、Storyboardが導入された iOS 5 以前にはSegueもありませんでしたので、常にそのようにモーダルなビューコントローラーは表示されていました。 (実際には前身のpresentModalViewController:animated:が使われていました) **追記** 文字通り > > カスタムView(xib)を表示する > > > 場合でも、ViewをViewControllerに紐付けて、ViewControllerとして表示する必要があります。 そのためには、UIViewController(またはそのサブクラス)を init(nibName:bundle:)で初期化します。 例 ``` class MyViewController: UIViewController { // (略) func someButtonTapped(_ sender: Any) { // nib(xib)を使ってViewControllerのインスタンスを作成する let modalVC = SecondViewController(nibName: "xibのファイル名", bundle: nil) // 作成したViewControllerをモーダル表示する self.present(modalVC, animated: true) { print("モーダル表示完了") } } } class SecondViewController : UIViewController { // (略) } ``` ViewControllerをxibのOwnerに指定することで、Viewの上に載せたボタンやラベルとViewControllerのIBOutletやIBActionを紐付ける事ができます。 これもどちらかというとStoryBoard登場以前によく使われた方法になります。