【问题标题】:UILabel autoLayout not working fineUILabel 自动布局无法正常工作
【发布时间】:2015-07-13 19:29:21
【问题描述】:

我在UITableViewCell中设置了一个UIlabel我想动态设置UITableViewCell的高度,所以我用UILabel添加了一些约束,当输入UIViewController时,@987654329的标签和高度@ 不正确,但是如果我将UITableViewCell 滚动到屏幕外并将其滚动回屏幕,那么它可以正常工作,这很奇怪。

这是我在故事板中的约束

进入UIViewController时TableViewCell中的UILabel

应该是

我已尝试添加代码(覆盖 UILabel)

-(void)layoutSubviews{
    self.preferredMaxLayoutWidth = self.frame.size.width;
    [super layoutSubviews];
}

并将内容拥抱优先级设置为 1000

【问题讨论】:

  • 你的目标平台是iOS8吗?还是 iOS7?
  • 在iOS7和iOS8中都

标签: ios objective-c autolayout


【解决方案1】:

您可以将约束连接到作为 IBOutlet 的代码。因此,只需尝试使用随 UITableViewCell 高度以编程方式更改的高度约束即可。

【讨论】:

    【解决方案2】:

    它的发生是因为您的标签高度大于它的文本内容。如果您为其设置背景颜色,那么您可以看到。不要将标签底部与单元格底部固定,它会拉伸标签高度。

    或者你可以试试

    [lable sizeToFit];
    

    将字符串值设置为标签后,它可能会解决问题。

    【讨论】:

      【解决方案3】:

      将底部空间限制的优先级更改为“低”。它与拥抱内容的斗争

      【讨论】:

        【解决方案4】:

        根据您的要求使用这些约束:
        标题标签:


        文字标签:
        textLabel.numberOfLines = 0;

        输出


        按照这些链接AutolayoutAutolayout programatically

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-04-23
          • 2015-07-06
          • 1970-01-01
          • 2012-10-10
          • 2016-05-02
          • 2017-11-06
          • 1970-01-01
          相关资源
          最近更新 更多