カスタムビューは、UIViewオブジェクトをライブラリからドラッグすることによってIBに配置され、そのクラス名はカスタムビュークラス名に設定されます。このカスタムビューにはサブビューがあり、init?(coder aDecoder: NSCoder)
に追加されています。アンカー制約により、サブビューが拡大される代わりにスーパービューが縮小される
_centralLabelサブビューがカスタムビューで一元的に設定され、そのサイズがカスタムのビューのサイズの25%になるように、型制約をアンカーする方法とその配置場所を指定する必要がありますか?
コードは次のように書かれている場合は、次のコードの結果ではなく、カスタムビューの25%であることが_centralLabelの大きさを設定する、カスタムビューが(に縮小されていること、である
override func updateConstraints() {
if !_subviewsConstraintsAdded {
_centralLabel.heightAnchor.constraint(equalTo: heightAnchor, multiplier: 0.25).isActive = true
_centralLabel.widthAnchor.constraint(equalTo: widthAnchor, multiplier: 0.25).isActive = true
_centralLabel.centerXAnchor.constraint(equalTo: centerXAnchor).isActive = true
_centralLabel.centerYAnchor.constraint(equalTo: centerYAnchor).isActive = true
_subviewsConstraintsAdded = true
}
super.updateConstraints()
}
0,0)は、updateConstraints()が呼び出されている間_centralLabelのサイズです。