我想拆分动态UILabel文本,例如下面的
UILabel文本-
能力倾向测试与您的要求相关的英语技能。它使组织/机构可以评估所有四种英语技能–阅读,写作,听力和口语以及核心必修部分(语法和词汇),或者仅测试一种技能,例如阅读。
可以将每个换行符拆分为字符串数组,即使在屏幕尺寸的每个尺寸(iphone或ipad)上也是如此。
我想要的结果是字符串数组-
[““能力测试与您的要求相关的英语技能。它使组织/机构成为可能”,”评估所有四个英语技能–阅读,写作,听力和口语以及核心的“,”必修部分(语法和词汇) )或仅测试一项技能,例如阅读。“]
UILabel中的每个换行符都需要分割字符串,而不考虑动态屏幕大小
答案 0 :(得分:1)
您的方法可能很难,相反,我建议您使用其他方法,例如使用arg_sec_ids
sizeWithAttributes
假设您知道标签中的宽度和字体大小,则可以使用以下逻辑:
extension String {
func widthOfString(usingFont font: UIFont) -> CGFloat {
let fontAttributes = [NSAttributedString.Key.font: font]
let size = self.size(withAttributes: fontAttributes)
return size.width
}
func heightOfString(usingFont font: UIFont) -> CGFloat {
let fontAttributes = [NSAttributedString.Key.font: font]
let size = self.size(withAttributes: fontAttributes)
return size.height
}
func sizeOfString(usingFont font: UIFont) -> CGSize {
let fontAttributes = [NSAttributedString.Key.font: font]
return self.size(withAttributes: fontAttributes)
}
}