Ios UILabel文本问题

Ios UILabel文本问题,ios,objective-c,uilabel,Ios,Objective C,Uilabel,我对标签文本有问题。 标签文本没有显示他得到的所有文本。 我放了一个NSlog,我可以看到所有的文字,但一些原因的标签不能 我的代码: -(void)viewDidLoad { [super viewDidLoad]; [_scroller setScrollEnabled:YES]; [_scroller setContentSize:CGSizeMake(250, 420)]; self.description = [_description strin

我对标签文本有问题。 标签文本没有显示他得到的所有文本。 我放了一个NSlog,我可以看到所有的文字,但一些原因的标签不能

我的代码:

-(void)viewDidLoad
{

    [super viewDidLoad];

    [_scroller setScrollEnabled:YES];
    [_scroller setContentSize:CGSizeMake(250, 420)];

    self.description = [_description stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

    if ([self.description isEqualToString:@""]) {
        self.description = @"ללא תקציר";
    }
    [self positionLabel:self.lblTitle withText:self.stitle withY:10];
    [self positionLabel:self.lblPubDate withText:self.pubDate withY:CGRectGetMaxY(self.lblTitle.frame)+10 ];
    [self positionLabel:self.lblDescription withText:self.description withY:CGRectGetMaxY(self.lblPubDate.frame)+25 ];

-(void)positionLabel:(UILabel*)lbl withText:(NSString*)text withY:(CGFloat)Y
{
    lbl.textAlignment = UITextAlignmentRight;
    lbl.text = text;
    lbl.numberOfLines = 0;
    lbl.lineBreakMode = UILineBreakModeWordWrap;
    CGSize size = [self calculateSize:lbl];
    [lbl setFrame:CGRectMake(10 , Y , (size.width>300)?size.width:300 , size.height)];
    [_scroller addSubview:lbl];

}

-(CGSize)calculateSize:(UILabel*)lbl
{
    CGSize size = [lbl.text sizeWithFont:lbl.font
                       constrainedToSize:CGSizeMake(280, MAXFLOAT)
                           lineBreakMode:UILineBreakModeWordWrap];
    return size;
}
编辑

以下是NSlog文本:

和UILabel文本:

NSLog上标记的文本缺少UILabel。。 对不起,我的语言

什么会导致问题?我疯了,我什么都试过了!!
提前谢谢

标签不能显示所有文本的原因只有几个

  • 相框大小,看起来你盖得特别好,因为你可以看到 部分文本
  • 字体/大小/措辞太大,因此没有足够的空间显示文本

  • 在您的情况下,我建议您查看字体或字号。

    您看到了什么文本以及剪裁了什么(标题、发布日期、描述)

    此外,您还应该在放置所有标签后设置滚动条的内容大小:

    CGFloat contentWidth = max X of labels frames;
    CGFloat contentHeight = CGRectGetMaxY(self.lblDescription.frame);
    [_scroller setContentSize:CGSizeMake(contentWidth, contentHeight)];
    

    你能给我们看一下结果吗?只有两种解决方案:你的UILabel的高度太小(但是用你的calculateSize方法应该可以),或者如果你的UILabel在你的scrollview中,可能是您的scrollview的内容大小太小了。通过在viewDidLoad方法末尾设置contentsize如下:[[u scroller setContentSize:CGSizeMake(250,lbldDescription.frame.origin.y+lbldDescription.frame.size.height+10//最后一个值只是一个边距)];试过了,现在开始工作了。。仍然缺少一个文本。尝试了但没有成功。。我编辑了我的文章,你能帮我一下吗?你是对的,我改变了字体大小,我可以取消所有的文字。但是如果我想要字体更大呢?我该怎么办?你可以做几件事。首先增加标签的大小以适应字体。第二,使用约束使标签能够增加x数量。第三,您可以使用uitextview,这样文本将自动转到下一行。此外,如果我的答案是正确的,请随意标记。:)