我在故事板中使用collectionview
的单元格原型。在集合视图中,我在单元格中设置了UIIMAGE
和UILABEL
,并以编程方式调用,以便在viewWithTag的帮助下加载所需的图像,以根据需要更改图像和标签。
我的问题是,我无法设置我的标签,以至于无法在单词中创建换行符。包装单词无法为标签提供换行符以包装单词并将标签放在一行中。
我试图从故事板中提取linebreak
并且也是以编程方式提供,但是我无法包装我的标签,并且无法在一个单词之后给出换行符。
我的代码:
UILabel *label = (UILabel *)[cell viewWithTag:200];
label.text = [NSString stringWithFormat:@"%@",name];
我的尝试:
label.numberOfLines = 0; // also tried 2 for next line
label.minimumScaleFactor = 0.5;
label.lineBreakMode = UILineBreakModeWordWrap;
label.lineBreakMode = NSLineBreakByWordWrapping;
答案 0 :(得分:2)
缺少自动换行的最可能原因是UILabel
并不知道它不应超过给定的宽度。
有两种表达方式:
在preferredMaxLayoutWidth
上设置属性UILabel
,其值指示不应超出的宽度
设置正确的自动布局约束 - 您可以通过指定宽度约束或指定偏移/插入约束来实现 - 这实际上取决于您正在使用的布局因为存在大量可能的组合。
理智的最佳方法 - 检查它是尝试preferredMaxLayoutWidth
方法。如果它有效,那么请尝试确定是否要保留此值集,或者通过查找自动布局权限约束来使布局更加动态。