我想创建一个自定义
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
但是当视图控制器
function ViewDidAppear
被称为
CustomTextField.frame.width is 304.0
.
应该从中调用开关委托方法
CustomTextField
文件来调用将标签添加到文本字段的方法,该文本字段将根据手机大小而定?