UIView
Auto Layout と Apple の Visual Format Language を使用して、who のサイズと位置が設定されている幅と高さを取得するにはどうすればよいですか?
コードは次のとおりです (view
は からの変数ですUIViewController
)。
// Create and add the view
var stageView = UIView()
stageView.setTranslatesAutoresizingMaskIntoConstraints(false) // Since I'm using Auto Layout I turn this off
view.addSubview(stageView)
// Create and add constraints to the containing view
let viewsDictionary = ["stageView":stageView]
let horizontalConstraints: NSArray = NSLayoutConstraint.constraintsWithVisualFormat("H:|-150-[stageView]-150-|", options: NSLayoutFormatOptions(0), metrics: nil, views: viewsDictionary)
let verticalConstraints: NSArray = NSLayoutConstraint.constraintsWithVisualFormat("V:|-100-[stageView]-150-|", options: NSLayoutFormatOptions.AlignAllCenterX, metrics: nil, views: viewsDictionary)
view.addConstraints(horizontalConstraints)
view.addConstraints(verticalConstraints)
println("stageView.frame=\(stageView.frame)")
そして得た:
stageView.frame=(0.0,0.0,0.0,0.0)
だから私は試しました:
let fittingSize = stageView.systemLayoutSizeFittingSize(UILayoutFittingCompressedSize)
println("fittingSize=\(fittingSize)")
そして得た:
fittingSize=(0.0,0.0)
サイズを取得する方法が見つからないようです。stageView
Auto Layout と Visual Format Language を使用してその場所にサブビューを問題なく追加できますが、stageView
これらのサブビューをさらに配置する必要がある幅と高さを取得できません。
何か案は?