WKWebViewがコード上からしか使用できないけどAutoLayoutを使っていい感じにしたい。
具体的には任意のUIViewへ位置とサイズを合わせて表示したい。
サンプルソース
class ViewController: UIViewController { // WKWebViewをこのビューにぴったり合わせて表示する @IBOutlet weak var webBaseView: UIView! var webview: WKWebView = WKWebView() override func viewDidLoad() { super.viewDidLoad() // レイアウトの基準となる親ViewへWKWebViewを追加 webBaseView.addSubview(self.webview) // AutoLayoutを使用する webview.translatesAutoresizingMaskIntoConstraints = false // 上端をwebBaseViewへ合わせる webBaseView.addConstraint(NSLayoutConstraint( item: self.webview, attribute: NSLayoutAttribute.top, relatedBy: NSLayoutRelation.equal, toItem: webBaseView, attribute: NSLayoutAttribute.top, multiplier: 1.0, constant: 0) ) // 下端をwebBaseViewへ合わせる webBaseView.addConstraint(NSLayoutConstraint( item: webview, attribute: NSLayoutAttribute.bottom, relatedBy: NSLayoutRelation.equal, toItem: webBaseView, attribute: NSLayoutAttribute.bottom, multiplier: 1.0, constant: 0) ) // 左端をwebBaseViewへ合わせる webBaseView.addConstraint(NSLayoutConstraint( item: self.webview, attribute: NSLayoutAttribute.left, relatedBy: NSLayoutRelation.equal, toItem: webBaseView, attribute: NSLayoutAttribute.left, multiplier: 1.0, constant: 0) ) // 右端をwebBaseViewへ合わせる webBaseView.addConstraint(NSLayoutConstraint( item: webview, attribute: NSLayoutAttribute.right, relatedBy: NSLayoutRelation.equal, toItem: webBaseView, attribute: NSLayoutAttribute.right, multiplier: 1.0, constant: 0) ) } }
iOS9 以降は以下の記述で問題ない
http://qiita.com/hirothings/items/fa487ac31ff4283893ca
既に(2016/12/5時点)iOS8のシェアほとんどないみたいなんだよね
新しい書き方でもいいかなー