Swift在UILabel获得最后一个角色的CGPoint

时间:2018-01-26 22:28:54

标签: swift swift3 uiscrollview

我的项目中有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位置,以便自动滚动到那里 谢谢

1 个答案:

答案 0 :(得分:1)

您应该能够通过以下方式获取文本的宽度:

label.intrinsicContentSize.width

然后将其添加到标签的X位置,假设文本是左对齐的。