Я хочу создать пользовательский UITextfield
, и у меня есть эта проблема.
Я хочу добавить некоторые метки ниже UITextField
, и проблема в том, что когда я вычисляю положение метки, это делаетне занимайте позицию в зависимости от размера устройства, но в зависимости от размера storyboard
.
Чтобы быть более конкретным, мой код:
private func setUpBottomRightLabel(){
let height:CGFloat = self.layer.frame.height / 2
let lBottomRight = UILabel(frame: CGRect(x: self.frame.origin.x, y: self.frame.origin.y + self.frame.height + 2, width: self.frame.width * 0.6, height: height))
lBottomRight.font = UIFont(name: "System", size: 4)
lBottomRight.text = "\(self.text?.count ?? 0)/\(self.maxNumber)"
lBottomRight.textAlignment = .right
lBottomRight.backgroundColor = UIColor.red
self.superview!.addSubview(lBottomRight)
self.updateConstraints()
self.layoutIfNeeded()
}
И проблема в том, что когда эта функция вызывается из awakeFromNib()
или init()
текстового поля self.frame.width = 359
, но когда ViewControllersfunction ViewDidAppear
называется CustomTextField.frame.width is 304.0
.
Метод делегата Witch, если я вызову файл из CustomTextField
, чтобы вызвать методы, которые добавляют метки к текстовому полю, которые будут иметь размер, основанный на телефоне.?