swift - 在 UILabel 的左边写一段文本,在右边写第二部分

标签 swift text swift3 uilabel

是否可以在 UILabel 上写一段文本,使其一部分右对齐而另一部分左对齐?

我想这样写:“1级:55分”

但我希望“级别 1:”出现在标签的左侧,“55 点出现在右侧”

最佳答案

糟糕的解决方案:

使 UILabel 左对齐,并在您希望左右对齐的内容之间放置空格。 (您还希望为此选择固定间距的字体。

您始终可以子类化 UILabel,将 UILabel 添加为 subview 。使一个右对齐,另一个左对齐。

很好的解决方案:

将两个 UILabel 以间距并排放置。如果您正在为这样的几个“组合”进行设置,那么这可能是值得的。请记住,对于 iOS,使用自动布局也很好,因此您可能希望每个组合都作为 UIStackView 中的一个单元格。

好的解决方案:

子类 UILabel。在左对齐的 subview UILabel 中添加一个 UILabel 作为右对齐 subview 。这里的问题让可能正在维护事物的其他开发人员感到困惑。

最佳解决方案:

子类 UIView,将两个 UILabel 作为 subview 。现在您可以为每个单独的 subview 创建明显的属性(leftText、rightText)以及明显的共享属性(字体、字体大小)。作为一个额外的好处,你可以让每个人都有单独的字体(leftFont,rightFont)。现在您正在向单个 View 添加约束。如果您愿意,您可以使这个 IBDesignable/IBInspectable 用于 Interface Builder。

恕我直言,“相当不错”的解决方案是最好的,如果你正在使用一个包含 - 只是个人品味 - 最多 3 个组合左/右对齐标签的 super View 。最好的解决方案为您提供最大的灵 active ,并简化复杂使用的任何多 View 。

关于swift - 在 UILabel 的左边写一段文本,在右边写第二部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42738268/

相关文章:

swift - 在 Swift 3 中获取 SKSpriteNode 的文件名

ios - 如何在 Swift 中使用 MKPolylineView

swift - Swift 2 中的枚举

ios - NSNotificationCenter PasteboardChangedNotification 未触发

iOS Firebase 登录。选择 Google 帐户后显示事件指示器

css - 使用 css 在 div 周围环绕文本(在文本中间)

python - 无法使用 mark_set 小部件功能移动文本 'insert' 索引(Python 和 Tkinter)

python - 要列出的多个数据框列

ios - 在 UIButton 状态为 .disabled 时更改其颜色

ios - 动画预定定时器错误