大家好!如何设置标签的内容以显示需要多少行但不切割单个单词。请参阅上面附带的图片:在附件的示例中," Facebook"需要完全显示,而不是显示为" Facebo ok"或者" FACEB OOK"。
我的意思是,如果标签会根据需要在1,2,3,n行显示内容,那就没关系了,但是如果它和&我不希望它切断单个单词对于标签的界限太长了,我只想让它调整每个单词的大小,当它面对一个空格字符时,它就可以进入一个新的界限。
我希望我至少能清楚地了解我的一些问题!
感谢所有人提前!
答案 0 :(得分:0)
使用此功能
func boundingRect(with size: CGSize,
options: NSStringDrawingOptions = [],
attributes: [String : Any]? = nil,
context: NSStringDrawingContext?) -> CGRect
e.g。
let sizeOfString = label.text.boundingRectWithSize(
CGSizeMake(self.label.frame.size.width, CGFloat.infinity),
options: NSStringDrawingOptions.UsesLineFragmentOrigin,
attributes: [NSFontAttributeName: lbl.font],
context: nil).size
从这里你可以得到标签的大小,并根据你的大小调整标签的框架。
别忘了在故事板上给标签和行的高度提供> =约束关系。
答案 1 :(得分:0)
如果我理解正确你只需要缩放标签的内容,使其符合给定的边界而不需要字符包装。
如果以上情况属实,请尝试以下代码来解决您的问题。您需要调整标签的minimumScaleFacotr
,以便调整其内容的大小。
label.adjustsFontSizeToFitWidth = true // To adjust text to expand at all available space
label.minimumScaleFactor = 0.5 // The minimum scale factor that your label may reach to fit
label.lineBreakMode = NSLineBreakMode.byWordWrapping // Wrap at word boundaries
label.numberOfLines = 0 // For multiple lines till text fits`
答案 2 :(得分:0)
你应该简单地写下这段代码:
Label.adjustsFontSizeToFitWidth = true
Label.numberOfLines = 2
Label.text = "HelloHowAreYou? Fine."
我希望这段代码可以帮助你......