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 位置,假设文本是左对齐的。