美文网首页
iOS sizeToFit和sizeThatFits

iOS sizeToFit和sizeThatFits

作者: 我是小胡胡分胡 | 来源:发表于2017-06-12 16:53 被阅读352次

    1, sizeThatFits返回的大小都是一样的。 不会改变原来的label的view的size
    CGSize expectedSizeMessage = [messageLabel sizeThatFits:CGSizeMake(30, 5)];
    CGSize expectedSizeMessage3 = [messageLabel sizeThatFits:CGSizeZero];
    CGSize expectedSizeMessage4 = [messageLabel sizeThatFits:CGSizeMake(1000, 1000)];

    //可以计算字符串的size
    + (CGSize)sizeStr:(NSString *)str forFont:(UIFont *)font size:(CGSize)size mode:(NSLineBreakMode)lineBreakMode  {
        UILabel *label = [UILabel new];
        label.text = str;
        label.lineBreakMode = lineBreakMode;
        label.font = font;
        label.numberOfLines= 0;
        CGSize size1=    [label sizeThatFits:size];
        CGSize size2 =  [str sizeForFont:font size:size mode:lineBreakMode];
        NSLog(@"%@,  %@", NSStringFromCGSize(size1),  NSStringFromCGSize(size2));
        return size1;
    }
    

    2,sizeToFit//返回的大小跟上面的相同。会立即改变label的size
    [messageLabel sizeToFit];
    CGSize expectedSizeMessage2 = messageLabel.bounds.size;

    使用这两个方法必须先给label赋值。

    相关文章

      网友评论

          本文标题:iOS sizeToFit和sizeThatFits

          本文链接:https://www.haomeiwen.com/subject/lfnlqxtx.html