Swift 获取 UILabel 中最后一个字符的 CGPoint
Swift get CGPoint of last character in UILabel
我的项目中有 UIScrollView,包括水平滚动的 UIlabel,这个标签是水平可增加的文本。
搜索后我找到了这段代码,但问题是它总是找到第一个匹配字符的 x 位置
这是我的代码
if let range = mylabel.text?.range(of: String(describing: mylabel.text?.characters.last!)) {
let prefix = mylabel.text?.substring(to: range.lowerBound)
let size: CGSize = prefix!.size(attributes: [NSFontAttributeName: UIFont.systemFont(ofSize: 35.0)])
let position = CGPoint(x:size.width,y: 0)
myScrollView.setContentOffset(position, animated: true)
}
我需要找到标签字符串中最后一个字符的 x 位置以便自动滚动到那里
谢谢
您应该可以通过以下方式获得文本的宽度:
label.intrinsicContentSize.width
然后将其添加到标签的 X 位置,假设文本是左对齐的。
我的项目中有 UIScrollView,包括水平滚动的 UIlabel,这个标签是水平可增加的文本。
搜索后我找到了这段代码,但问题是它总是找到第一个匹配字符的 x 位置
这是我的代码
if let range = mylabel.text?.range(of: String(describing: mylabel.text?.characters.last!)) {
let prefix = mylabel.text?.substring(to: range.lowerBound)
let size: CGSize = prefix!.size(attributes: [NSFontAttributeName: UIFont.systemFont(ofSize: 35.0)])
let position = CGPoint(x:size.width,y: 0)
myScrollView.setContentOffset(position, animated: true)
}
我需要找到标签字符串中最后一个字符的 x 位置以便自动滚动到那里 谢谢
您应该可以通过以下方式获得文本的宽度:
label.intrinsicContentSize.width
然后将其添加到标签的 X 位置,假设文本是左对齐的。