zoukankan      html  css  js  c++  java
  • Label 自适应文本(StoryBoard/xib)

    To make your label automatically resize height you need to do following:

    1. Set layout constrains for label
    2. Set height constraint with low priority. It should be lower than ContentCompressionResistancePriority
    3. Set numberOfLines = 0
    4. Set ContentHuggingPriority higher than label's height priority
    5. Set preferredMaxLayoutWidth for label. That value is used by label to calculate its height

    For example:

    self.descriptionLabel = [[UILabel alloc] init];
    self.descriptionLabel.numberOfLines = 0;
    self.descriptionLabel.lineBreakMode = NSLineBreakByWordWrapping;
    self.descriptionLabel.preferredMaxLayoutWidth = 200;
    
    [self.descriptionLabel setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisVertical];
    [self.descriptionLabel setContentCompressionResistancePriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisVertical];
    [self.descriptionLabel setTranslatesAutoresizingMaskIntoConstraints:NO];
    [self addSubview:self.descriptionLabel];
    
    NSArray* constrs = [NSLayoutConstraint constraintsWithVisualFormat:@"|-8-[descriptionLabel_]-8-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(descriptionLabel_)];
    [self addConstraints:constrs];
    [self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-8-[descriptionLabel_]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(descriptionLabel_)]];
    [self.descriptionLabel addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[descriptionLabel_(220@300)]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(descriptionLabel_)]];
    

    Using Interface Builder

    1. Set up four constraints. The height constraint is mandatory. enter image description here

    2. Then go to the label's attributes inspector and set number of lines to 0. enter image description here

    3. Go to the label's size inspector and increase vertical ContentHuggingPriority and vertical ContentCompressionResistancePriority.
      enter image description here

    4. Select and edit height constraint.
      enter image description here

    5. And decrease height constraint priority.
      enter image description here

    Enjoy. :)

  • 相关阅读:
    程序员的出路在哪里
    基于.NET平台常用的框架整理
    Asp.Net MVC WebApi2 自动生成帮助文档
    Jquery操作select选项集合,判断集合中是否存在option
    C#三种判断数据库中取出的字段值是否为空(NULL) 的方法
    未能加载文件或程序集“XX.XXX.Web”或它的某一个依赖项。试图加载格式不正确的程序
    网页设计制作面试题(1)
    HTML5 Canvas 画纸飞机组件
    HTML5 Canvas 画虚线组件
    C# 根据域名获取IP地址
  • 原文地址:https://www.cnblogs.com/W-Kr/p/5202405.html
Copyright © 2011-2022 走看看