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
}
}