【问题标题】:xcode UILabel Text fits in storyboard but not on devicexcode UILabel Text 适合故事板,但不适合设备
【发布时间】:2015-08-28 16:52:33
【问题描述】:

我在 tableview 中创建了一个自定义单元格并添加了一些标签。在情节提要中为每个标签设置常量文本时,文本完全适合标签内(每个视图的大小设置为 iPhone 5.5 英寸)。但是,当我在 iPhone 6(5.5 英寸)上运行该应用程序时,生成的表格单元格与标签内的文本不匹配,并显示以省略号结尾的不完整文本。如果文本正确适合 Storyboard 中的标签,为什么即使两种情况的屏幕尺寸相同,它也不能正确适合设备?如何解决这个问题?

编辑:我还在代码中添加了这些行以自动适应标签中的文本:

label.numberOfLines = 1
label.adjustsFontSizeToFitWidth = true
label.sizeToFit()

但还是不行。

任何帮助将不胜感激。 提前致谢。

【问题讨论】:

  • 您设备的操作系统版本是多少?据我所知,不同的操作系统使用不同的字体。
  • 操作系统版本为iOS 8.2
  • 不知道你的问题。也许您可以设置标签的 autoshrink 属性来解决此问题。
  • 您在单元格中使用自动布局吗?或者您是否在代码中为单元格标签设置了字体,并且该字体大于故事板中的默认字体?
  • 是的,我在单元格内使用了自动布局,单元格标签的字体比默认字体小很多

标签: ios objective-c iphone xcode swift


【解决方案1】:

对我来说,下面的代码适用于我使用的每个标签。这会根据内容描述调整标签的大小。

label.lineBreakMode = NSLineBreakMode.ByWordWrapping
label.numberOfLines = 0
label.sizeToFit()

我希望这对您的自定义单元格也有帮助。

【讨论】:

    【解决方案2】:

    为标签设置值后调用以下行

    self.yourLabel.adjustsFontSizeToFitWidth = true;
    self.yourLabel.sizeToFit()
    

    【讨论】:

      【解决方案3】:

      替换下面的代码

      label.numberOfLines = 0
      label.adjustsFontSizeToFitWidth = true;
      label.sizeToFit()
      

      这个设置你UILabel最好

      【讨论】:

        【解决方案4】:

        您可以在 Interface Builder 中执行此操作。单击您的标签,然后在右侧检查器选项卡上找到 Autoshrink。将其更改为最小字体大小并选择您希望字体的最小大小(我建议 12)。我知道您说过您曾尝试使用 Autoshrink,但这有效。不用放 label.sizeToFit()

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-01-13
          • 1970-01-01
          • 1970-01-01
          • 2010-12-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多