繁体   English   中英

在iOS SDK中将标签文本显示为段落

[英]Show Label Text as Paragraph in ios sdk

我想显示如下的文本。

在此处输入图片说明

我的标签内容可能会更改,并且标签框应自动调整。

我怎样才能做到这一点?

我的尝试

//NSString* string = @"Previously scheduled for every Monday, Happy will now be moving to Wednesdays at the same time. The time from 5:00 pm - 7:00 pm will remain the same. Now starting April 14th until further notice.";

   NSString* string=@"ABCDEF";
    NSMutableParagraphStyle *style  = [[NSMutableParagraphStyle alloc] init];
    style.minimumLineHeight = 30.f;
    style.maximumLineHeight = 30.f;
    style.firstLineHeadIndent=100.0f;
    NSDictionary *attributtes = @{NSParagraphStyleAttributeName : style,};
    lbl_notification.attributedText = [[NSAttributedString alloc] initWithString:string attributes:attributtes];

设置标签文字

Yourlabel.text=[NSString stringWithFormat:@"Notification:    %@",Dynamic text];

Yourlabel.adjustsFontSizeToFitWidth = YES;

尝试此操作,如果文本过多,则会缩小字体大小,以使其适合标签:

 displayLabel.adjustsFontSizeToFitWidth = YES;

这对我有用:

     _label = [[UILabel alloc] init];
     _label.lineBreakMode = NSLineBreakByWordWrapping;
     _label.numberOfLines = 0;
    _label.text = .....
    [_label setFrame:CGRectMake(0.0f, 0.0f, 340.0f, 300.0f)];
    _labelSize = [_label.text sizeWithFont:_label.font constrainedToSize:_label.frame.size lineBreakMode:NSLineBreakByWordWrapping];
    [_label setFrame:CGRectMake(0.0f, 0.0f, 340.0f, _labelSize.height)];

如果您希望根据文本更改标签框架,以下代码将很有帮助,

CGSize Size1 = yourlabel.bounds.size;
CGSize Size2 = CGRectInfinite.size;
Size2.width = Size1.width;

Size2 = [yourlabel.text sizeWithFont:yourlabel.font constrainedToSize:Size2];

yourlabel.frame = CGRectMake(yourlabel.frame.origin.x, yourlabel.frame.origin.y, Size2.width, Size2.height);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM