以下は、私のViewControllerでUIViewを初期化し、それをViewControllerのメインビューに制約した後のエラーメッセージです。viewDidLoadメソッドで作成されたビューをViewControllersビューに制約できないのはなぜですか?
Unable to activate constraint with anchors because they have no common ancestor. Does the constraint or its anchors reference items in different view hierarchies? That's illegal.
あなたは私が提供した写真を見れば、あなたはストーリーボードで、私はちょうどメインビュー内の別のUIViewをドロップすることができていることがわかりますし、私はの端にそれを制約することができますメインビュー。これは完全にうまく動作しますが、コード内で同じことをやり遂げる方法を知りたいのです。 NSLayoutConstraintを使用してトップ、ボトム、リーディング、およびトレーリングにピンを固定することは、私のために機能していないようです。これについての洞察はすばらしいだろう。
let webView: WKWebView = WKWebView()
override func viewDidLoad() {
super.viewDidLoad()
webView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint(item: webView,
attribute: .leading,
relatedBy: .equal,
toItem: view,
attribute: .leading,
multiplier: 1.0,
constant: 0.0).isActive = true
NSLayoutConstraint(item: webView,
attribute: .trailing,
relatedBy: .equal,
toItem: view,
attribute: .trailing,
multiplier: 1.0,
constant: 0.0).isActive = true
NSLayoutConstraint(item: webView,
attribute: .top,
relatedBy: .equal,
toItem: view,
attribute: .top,
multiplier: 1.0,
constant: 0.0).isActive = true
NSLayoutConstraint(item: webView,
attribute: .bottom,
relatedBy: .equal,
toItem: view,
attribute: .bottom,
multiplier: 1.0,
constant: 0.0).isActive = true
let url = NSURL (string: someURL);
let requestObj = NSURLRequest(url: url! as URL);
webView.load(requestObj as URLRequest);
}
私はviewDidLoadメソッドでaddSubviewを使用するように見えることはできません – user3832583
奇妙なことに、自動完成していないようですが、実際にはうまくいきました。 – user3832583
私は答えを更新しました。それは働いている! –