TL; DR; layoutSubviewsに呼び出し
// Call The Custom Setup Here
override func prepareForInterfaceBuilder() {
setupView()
}
prepareForInterfaceBuilderにコールするも動作しますが、実行時に倍数の回呼び出され、prepareForInterfaceBuilderだけ設計因子の変更のための、唯一この目的で呼び出されます。
ロングコード:Xcodeで
@IBDesignable
class CustomView: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
setupView()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setupView()
}
override func prepareForInterfaceBuilder() {
setupView()
}
func InitChildPosition() {
var i = 1
for _view in self.subviews {
if _view is UIButton {
_view.center.x = (_view.bounds.width/2)
_view.center.y = (_view.bounds.height/2)
}
if _view is UIButton && i == 2 {
_view.center.x = self.bounds.width - (_view.bounds.width/2)
_view.center.y = self.bounds.height - (_view.bounds.height/2)
_view.backgroundColor = UIColor.darkGray
}
i += 1
}
}
func setupView() {
self.backgroundColor = UIColor.black
InitChildPosition()
}
}
あなたはIBOut参照を持っているオブジェクト(ビュー)のプレビューを見ることができます。 –
私はあなたがモジュールを設定していないと思っています。ちょうどフォーカスモジュールとヒット入力します。 http://i.imgur.com/CbSGhIs.png?1 – ocanal