【问题标题】:Swift label under another label另一个标签下的 Swift 标签
【发布时间】:2019-02-24 11:15:21
【问题描述】:

如何实现一行在另一行之上,如屏幕截图所示。 翻译必须严格高于单词。怎么办?

【问题讨论】:

  • 使用两个标签,一个在另一个之上。
  • @dahiya_boy 字母必须在字母的正上方。如果使用两个标签,看起来就不那么漂亮了。
  • 一个标签在另一个标签下,约束为:间距、中心、等宽等高...
  • 每个词使用一对标签。在您的示例中,共有 10 个标签。要么就是这样,要么学习自定义 TextKit 布局。

标签: ios swift iphone


【解决方案1】:

使用 CollectionView 并将 flowLayout 设置为 Horizo​​ntal,其中 UICollectionViewCell 将包含 2 个标签,一个在另一个之上。根据需要将顶部标签的字体设置为更小,为底部标签设置更大的字体。将 collecitonView 的数据源作为一对单词提供,一个用于顶部标签,另一个用于底部标签。并将 collectionViewCell 的 UI 设置为整个 collectionView 将显示为单个标签。

【讨论】:

  • 那么有必要使用collectionview吗?
  • @dahiya_boy 需要吗?不。最简单的选择?可能是的。
  • 是的集合视图是简单而动态的选项,因此您可以拥有任意长度的文本行。
  • @ShmeelAhmad 同意,但是如果应该在屏幕上看到所有 5 对文本并且 OP 不想滚动查看更多文本怎么办?你将如何做到这一点?
  • 设置collectionView的width = viewController.view.frame.size.width,并且在flowLayoutDelegate方法中,sizeForItem返回collecitonView的Width/(对数)并禁用uicollecitonView的滚动。也在 collecitonView 单元格中使用 label.numberOfLines = 1 label.minimumFontSize = 8 label.adjustsFontSizeToFitWidth = YES
猜你喜欢
  • 2013-04-17
  • 1970-01-01
  • 2014-10-04
  • 1970-01-01
  • 2015-06-24
  • 2010-11-11
  • 1970-01-01
  • 2021-03-03
  • 1970-01-01
相关资源
最近更新 更多