UILabeldynamic字体大小继续打破

我有CollectionViewCell只有UILabel(与单元格相同的边界)。 我正在获取作为CollectionView数据源的fontNames数组:

func printFonts() { let fontFamilyNames = UIFont.familyNames() for familyName in fontFamilyNames { let names = UIFont.fontNamesForFamilyName(familyName as! String) fontNames.append(familyName as! String) } } 

我试图在UILabel中的一行显示这个字体名称,它在一些情况下,但在一些不工作,我不知道为什么。 这是我如何“调整” cellForItemAtIndexPath的字体:

  cell.lbl_font.adjustsFontSizeToFitWidth = true cell.lbl_font.numberOfLines = 1 cell.lbl_font.minimumScaleFactor = 0.1 cell.lbl_font.baselineAdjustment = .AlignCenters cell.lbl_font.textAlignment = NSTextAlignment.Center 

以及我通过storyBoard修改了这个属性:

降序

结果:

降序

更新:

我如何应用文本到单元格。 其中lbl_font是单元格内部的cellForItemAtIndexPath

  let cell : textCell = collectionView.dequeueReusableCellWithReuseIdentifier("text_cell", forIndexPath: indexPath) as! textCell cell.lbl_font.text = fontNames[indexPath.row] cell.lbl_font.font = UIFont(name:fontNames[indexPath.row], size: cell.lbl_font.font.pointSize) cell.lbl_font.adjustsFontSizeToFitWidth = true cell.lbl_font.numberOfLines = 1 cell.lbl_font.minimumScaleFactor = 0.1 cell.lbl_font.baselineAdjustment = .AlignCenters cell.lbl_font.textAlignment = NSTextAlignment.Center return cell 

有最小的字体缩小属性是可用的。 它将字体大小缩小为当前磅值的最小比例。 如果内容超过字体的比例,那么它将在最后挑剔地显示截断点(…)。

例如 :

我在这里设置最小字体比例为0.4的属性。

在这里输入图像说明

在这里你可以看到不同的文本应用相同的属性。

在这里输入图像说明

在第一个和第二个标签将调整字体大小,因为内容较less,并根据最小字体比例调整。 但在第三个最小字体比率和标签的内容是不匹配的,那么它会显示点(…)截断。

对于这个问题,你应该知道,如何马克内容应该显示在标签或面糊使用,你可以使用多行标签。

希望你能从答案中得到帮助。