gpt4 book ai didi

ios - 如何调用自定义委托(delegate)函数文本字段采用新大小

转载 作者:行者123 更新时间:2023-11-28 05:58:18 26 4
gpt4 key购买 nike

我想创建一个自定义的 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 但是当调用 ViewControllers function ViewDidAppearCustomTextField.frame.width 是 304.0

我应该从 CustomTextField 文件调用 Witch 委托(delegate)方法来调用将标签添加到文本字段的方法,该文本字段将采用基于手机的大小吗?

最佳答案

在您的 CustomTextField 中,覆盖 layoutSubviews 如下以获得正确的 frame 然后添加底部标签

class CustomTextField: UITextField {

override func layoutSubviews() {
print("\(self.frame)")
}
}

关于ios - 如何调用自定义委托(delegate)函数文本字段采用新大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50694355/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com