ios - UILabel 中的尺寸和线条问题

标签 ios objective-c uilabel

我有一个小问题。我开发了一个自动填充从 SQLite 数据库获取的数据集的应用程序。这些数据是通过动态方式绘制的,在数据​​之间我有一个框架,我可以在其中动态插入标签。我永远不知道这些框架内标签的确切数量,因为我从数据库的不同表中获取数据。我遇到的问题是标签中的文本没有填满标签的宽度。我尝试使用 label.linebreakmode 但仍然中断。我发布代码:

我有很多从以前的代码中提取的对象,比如 widthFormatowidthImageFormato

if([tipoVino length]!=0){
            UILabel *lblFormato = [[UILabel alloc] init];

            labelX = ((widthFormato-widthImageFormatos) / 2)+10;

            CGRect labelFrame = lblFormato.frame;
            labelFrame.size.width = widthImageFormatos;
            labelFrame.origin.x = labelX;
            labelFrame.origin.y = labelY+25;
            lblFormato.frame = labelFrame;
            lblFormato.numberOfLines = 0;
            lblFormato.lineBreakMode = NSLineBreakByWordWrapping;
            [lblFormato setText:[NSString stringWithFormat:@"- %@",tipoVino]];

            lblFormato.textColor = [UIColor whiteColor];
            labelY = lblFormato.frame.origin.y;
            [formatosImageView addSubview:lblFormato];

        }

最佳答案

我认为您想创建具有灵活高度的标签(并非所有标签都具有相同的大小),并且必须固定 formatosImageView 的宽度。

针对 iOS7 编辑

我使用的是 iOS7 中弃用的 sizeWithFont,我将其更改为 boundingRectWithSize

试试这个:

UILabel *lblFormato = [[UILabel alloc] init];
lblFormato.numberOfLines = 0;
lblFormato.lineBreakMode = NSLineBreakByWordWrapping;
[lblFormato sizeToFit];

NSString *string = [NSString stringWithFormat:@"- %@", tipoVino];

[lblFormato setText: string];

//Calculate the size of the container of the lblFormato
CGSize size = [string boundingRectWithSize:CGSizeMake(widthImageFormatos, 2000) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName: [UIFont fontWithName:@"customFont" size:fontSize]} context:nil];

lblFormato.frame = CGRectMake(labelX, labelY + 25, size.width, size.height);

并且您必须使用以下内容更新 labelY:

labelY = lblFormato.frame.size.height;

也许对你有帮助。

关于ios - UILabel 中的尺寸和线条问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25285622/

相关文章:

ios - 本地声明 NSMutableArray 警告

ios - Storyboard和界面生成器之间有什么关系?

c# - Xamarin.iOS NSUnknownKeyException 原因 : [ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key staticDataSource

iphone - 执行 segue 后,MBProgressHUD 事件指示器不显示在 viewDidAppear 中

objective-c - 为什么 Uncrustify 在我的 Objective-C block 右括号之前强制使用一个空格?

iphone - 从 iPhone 中的 UILabel 复制文本

iOS - 显示格式化数据的最佳实践

ios - FQL 多重查询并不总是有效

ios - Swift - 如何使用成为FirstResponder跳转到顶部

iphone - 如何使UIImageView加载图像,但URL在UILabel上?