###前提・実現したいこと
NSLayoutConstraintを使ってaddSubviewで親と同じサイズにしたい。
StoryBordでサイズを決めてあるView(ViewA)に
Swiftで作成したWebView(ViewB)をaddSubviewして
ViewAと同じサイズにしたい。
###該当のソースコード
ViewAはStoryBord上でSafeAreaと制約を持たせています。
swift
1 2self.ViewA.translatesAutoresizingMaskIntoConstraints = false 3self.ViewA.addConstraints([ 4 NSLayoutConstraint( 5 item: ViewB, 6 attribute: .top, 7 relatedBy: .equal, 8 toItem: self.ViewA, 9 attribute: .top, 10 multiplier: 1.0, 11 constant: 0 12 ), 13 NSLayoutConstraint( 14 item: ViewB, 15 attribute: .leading, 16 relatedBy: .equal, 17 toItem: self.ViewA, 18 attribute: .leading, 19 multiplier: 1.0, 20 constant: 0 21 ), 22 NSLayoutConstraint( 23 item: ViewB, 24 attribute: .trailing, 25 relatedBy: .equal, 26 toItem: self.ViewA, 27 attribute: .trailing, 28 multiplier: 1.0, 29 constant: 0 30 ), 31 NSLayoutConstraint( 32 item: ViewB, 33 attribute: .height, 34 relatedBy: .equal, 35 toItem: self.ViewA, 36 attribute: .height, 37 multiplier: 1.0, 38 constant: 0 39 ),] 40)
###補足情報(言語/FW/ツール等のバージョンなど)
swift4, iOS10.0
###発生している問題
添付の画像のWebviewと名前が付いている物がViewAになります。
SafeArea内のStackViewに
header用ViewとViewAが入っていますが
上記のコードでaddSubviewするとHeadが消えて
ViewAに追加したWebView(ViewB)だけになってしまいます。
NSLayoutConstraintを使用する前は
下記のコードでしたが、幅がSafeAreaより広くなってしまっていました。
Swift
1webviewC = WKWebView(frame:ViewB.bounds) 2ViewB.addSubview( webviewC )
回答1件
あなたの回答
tips
プレビュー