gpt4 book ai didi

swift - UITextField、textRect、Xcode 版本 10.0、部署目标 12.0、Swift 4.2

转载 作者:行者123 更新时间:2023-11-28 14:11:55 33 4
gpt4 key购买 nike

我之前使用过这个代码范围:

override func textRect(forBounds bounds: CGRect) -> CGRect {
super.textRect(forBounds: bounds)
return UIEdgeInsetsInsetRect(bounds, UIEdgeInsets(top: 0,left: 10, bottom: 0, right: 10))
}

但是在Xcode, Swift Update 之后报错。这是一个错误:

'UIEdgeInsetsInsetRect' has been replaced by instance method 'CGRect.inset(by:)'

然后我写了这个:

override func textRect(forBounds bounds: CGRect) -> CGRect {
super.textRect(forBounds: bounds)
var animationRect = frame.inset(by: UIEdgeInsets(top: 0, left: 5, bottom: 0, right: 10))
return animationRect
}

但是上面的代码不影响进入文本域。我应该写什么来从左边填充?

最佳答案

返回这个:

override func textRect(forBounds bounds: CGRect) -> CGRect { 
return bounds.inset(by: UIEdgeInsets(top: 0, left: 5, bottom: 0, right: 10))
}

我刚刚尝试将 MyTextField 自定义类添加到 Storyboard 中,它似乎确实有效。

在评论中提出您的问题:

正如你在这里看到的textRect documentation editingRect 返回可以显示可编辑文本的矩形,而不是这个,textRect 返回计算出的绘图矩形。检查前面的链接,它会更详尽。

关于swift - UITextField、textRect、Xcode 版本 10.0、部署目标 12.0、Swift 4.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52441494/

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