iOS三種讓UILabel中的text居上的方式
阿新 • • 發佈:2019-01-11
第一種自適應,但是該方法已廢棄,仍可用
CGRect frame = yourLabel.frame;
CGSize size = [yourLabel.text sizeWithFont:yourLabel.font constrainedToSize:CGSizeMake(frame.size.width, 5000)];frame.size = CGSizeMake(frame.size.width, size.height);
yourLabel.frame = frame;
第二種自適應
CGRect rect = [titleLabel.text boundingRectWithSize:titleLabel.frame.size options:(NSStringDrawingUsesLineFragmentOrigin) attributes:[NSDictionary dictionaryWithObjectsAndKeys:titleLabel.font,NSFontAttributeName, nil] context:nil];
titleLabel.frame = CGRectMake(X,Y, W, rect.size.height);
第二種:
此方法更加簡單粗暴,但是很有效。其方法是在文字後面加多一些\n。 需要注意的是,\n後還得加至少一個空格,否則多餘的\n會被UILabel忽略。從這一點上看,UILabel似乎又過於“聰明”了。 該方法的程式碼如下:
for(int
i=0;
i<newLinesToPad;
i++)
self.text=[self.text
stringByAppendingString:@"\n "];
如有更好的方法:請加QQ188816190,麻煩告知。