ステータスバーの高さを取得
let statusBarHeight: CGFloat = UIApplication.sharedApplication().statusBarFrame.height
ナビゲーションバーの高さを取得
let navBarHeight = self.navigationController?.navigationBar.frame.size.height
storyboardとViewControllerクラスの関連付け
ストーリーボードのビューコントローラーを選択してユーティリティエリアを表示する。
CustomClassのClassに関連付けしたいClassを入力する
ストーリーボードのビューに遷移
ストーリーボードで遷移先のビューを選択し、IdentityのStoryboard IDに任意の名前を設定しておく、withIdentifier: ""に設定した名前を入れる。
let storyboard: UIStoryboard = self.storyboard!
let nextView = storyboard.instantiateViewController(withIdentifier: "hogeView")
present(nextView, animated: true, completion: nil)
ストーリーボードのビューに遷移(NavigationContorollerの場合)
let storyboard: UIStoryboard = self.storyboard!
let nextView = storyboard.instantiateViewController(withIdentifier: "hogeView")
let navi = UINavigationController(rootViewController: nextView)
present(navi, animated: true, completion: nil)
異なるストーリーボードのビューに遷移
let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let hogeView = storyboard.instantiateInitialViewController()
present(hogeView!, animated: true, completion: nil)
WebViewで別タブ/別ウィンドウで開く時
func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView? {
guard let url = navigationAction.request.url else {
return nil
}
// target="_blank"対策。 別タブ/別ウィンドウで開く時は、今使っているWebViewで開く
guard let targetFrame = navigationAction.targetFrame, targetFrame.isMainFrame else {
webView.load(URLRequest(url: url))
return nil
}
return nil
}