Visualização personalizada - self.frame não está correto?
Então, eu tenho uma classe UIView personalizada
class MessageBox: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
createSubViews()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
createSubViews()
}
func createSubViews() {
let testView = UIView(frame: self.frame)
testView.backgroundColor = UIColor.brown
self.addSubview(testView)
}
}
Adicionei uma UIView dentro do storyboard e dei algumas restrições:
100 a partir do topo (superview), 0 a partir da esquerda e direita, a altura é 180
Mas quando executo o aplicativo, a subvisão marrom que criei no código é muito grande. Eu imprimiself.frame
na minha visão personalizada e verifica-se que o quadro é(0,0,1000,1000)
. Mas por que? Eu defino restrições, deve ser algo como(0,0,deviceWith, 180)
.
O que eu fiz errado?
EDIT: Essa é a minha configuração do Storyboard: