iOS 字符串宽度 字符串尺寸

2017-12-29  本文已影响14人  Yuency

前言:

记录关于字符串的一些操作

获取字符串的尺寸

方案1 https://stackoverflow.com/questions/24141610/cgsize-sizewithattributes-in-swift

    let myString: String = "掺金坷垃都发达."
    
    let size: CGSize = myString.size(withAttributes: [NSAttributedStringKey.font: UIFont.systemFont(ofSize: 14.0)])

方案2

//MARK: 获得字符串的尺寸
private func needTextRect(text: String) -> CGRect {
    return text.boundingRect(with: CGSize(width: CGFloat(MAXFLOAT), height: 0), options: .usesLineFragmentOrigin, attributes: [NSAttributedStringKey.font: UIFont.systemFont(ofSize: 14)], context: nil)
}

查找子串的位置

Swift - 在字符串中查找另一字符串首次出现的位置(或最后一次出现位置)

extension String {
    //返回第一次出现的指定子字符串在此字符串中的索引
    //(如果backwards参数设置为true,则返回最后出现的位置)
    func positionOf(sub:String, backwards:Bool = false)->Int {
        var pos = -1
        if let range = range(of:sub, options: backwards ? .backwards : .literal ) {
            if !range.isEmpty {
                pos = self.distance(from:startIndex, to:range.lowerBound)
            }
        }
        return pos
    }
}
上一篇下一篇

猜你喜欢

热点阅读