无法显示UILabel的所有内容

时间:2017-09-11 09:46:54

标签: ios objective-c uilabel

我有一个UILabel,默认情况下只显示3行文字。我希望在某些情况下显示所有文本内容。我已经尝试了我发现的一切,但没有任何作用。这是我最近的尝试:

CGRect labelSize = [contents.contentLanguage.Description boundingRectWithSize:CGSizeMake(self.view.frame.size.width * 0.97, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:15]} context:nil];

        cell.descLbl.frame = CGRectMake(labelSize.origin.x,
                                                 labelSize.origin.y,
                                                 ceil(labelSize.size.width),
                                                 ceil(labelSize.size.height));

        [cell.descLbl setNumberOfLines:0];
        [cell.descLbl setLineBreakMode:NSLineBreakByWordWrapping];
        [cell.descLbl sizeToFit];

4 个答案:

答案 0 :(得分:0)

也许你应该看看也许使用UITextView?它更适合多行文字。

https://developer.apple.com/documentation/uikit/uitextview

答案 1 :(得分:0)

好的,我可以通过将.ILib文件中的UILabel高度更改为> = 0

来解决此问题

答案 2 :(得分:0)

您有两种方法(选择):

  1. 在没有编辑权限的情况下使用UITextView
  2. 将UILabel与numberOfLines = 0
  3. 一起使用


    在没有编辑权限的情况下使用UITextView
    如果您已经固定空间(显示内容的有限区域,即固定高度)来显示您的内容,而您无法使用可滚动内容,那么您应该在没有编辑权限的情况下使用UITextView。

    enter image description here

    将UILabel与numberOfLines = 0 一起使用
    如果你有灵活的空间(没有有限的空间/区域显示你的内容,即固定的高度)来显示你的内容,那么你应该使用UILabel,行数= 0。

    • 如果您想要一个符合内容大小的高度灵活的UILabel,请不要指定高度值(约束)。
    • 或者,如果您想要/设置内容的最小区域,是否没有要显示的内容,请指定最小高度值(约束类似于= = 30)。

    enter image description here

    enter image description here

    enter image description here

    enter image description here

答案 3 :(得分:0)

请使用UiTextView代替UILabel

textviewobj.text=@"";

[textviewobj sizeToFit];