代码之家  ›  专栏  ›  技术社区  ›  saam

Swift get UILabel中最后一个字符的CGPoint

  •  1
  • saam  · 技术社区  · 7 年前

    我的项目中有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 回复  |  直到 7 年前
        1
  •  1
  •   Samah    7 年前

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

    label.intrinsicContentSize.width
    

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