【问题标题】:Making variable size UILabel with maximum width制作具有最大宽度的可变大小 UILabel
【发布时间】:2015-06-17 05:19:18
【问题描述】:

我使用以下代码制作了可变大小UILabel
但我想将最大宽度设置为label
你有什么想法吗?

- (void)viewDidLoad {
    CGSize size = [self labelFrameWithString:@"test text"];
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, size.width. size.height];
    label.text = @"test text";
}

- (CGSize)labelFrameWithString:(NSString *)string {
    CGRect frame = [string boundingRectWithSize:CGSizeZero
                                        options:(NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingTruncatesLastVisibleLine)
                                     attributes:[NSDictionary dictionaryWithObject:[UIFont systemFontOfSize:16] forKey:NSFontAttributeName]
                                        context:nil];

    return frame.size;
}

【问题讨论】:

    标签: objective-c nsstring uilabel


    【解决方案1】:

    您是否尝试通过受约束的 CGSize 而不是 CGSizeZero?

    CGSize constraint = CGSizeMake(your_max_width ,NSUIntegerMax);
    CGRect frame = [string boundingRectWithSize:constraint
                                        options:(NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingTruncatesLastVisibleLine)
                                     attributes:[NSDictionary dictionaryWithObject:[UIFont systemFontOfSize:16] forKey:NSFontAttributeName]
                                        context:nil];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多