是否可以在UILabel上写一个文本,使一个部分与右边对齐而另一个部分与左边对齐?
我想写这个:“1级:55分”
但我希望“Level 1:”出现在标签的左侧,“55点在右边”
答案 0 :(得分:3)
解决方案不好:
使UILabel左对齐并在你想要的左右对齐之间放置空格。 (您也希望为此选择固定的音调字体。
您可以随时继承UILabel,将UILabel添加为子视图。使一个右对齐,另一个为左对齐。
非常好的解决方案:
将两个UILabel彼此相邻放置。如果你正在设置一些"组合"像这样,它可能值得做。请记住,对于iOS来说,使用自动布局也很不错,所以也许您可能希望每个组合都成为UIStackView中的单元格。
良好的解决方案:
UILabel子类。在左对齐的子视图UILabel中添加单个UILabel作为右对齐子视图。这里的问题是让其他开发人员感到困惑。
最佳解决方案:
子类UIView,将两个UILabel作为子视图。现在,您可以为每个单独的子视图创建明显的属性(leftText,rightText)以及明显的共享属性(字体,字体大小)。作为额外的奖励,你可以让每个人都有单独的字体(leftFont,rightFont)。现在您要为单个视图添加约束。如果您愿意,可以将此IBDesignable / IBInspectable用于Interface Builder。
恕我直言"相当不错"解决方案是最好的,如果您正在使用包含 - 只是个人品味 - 的单个超级视图 - 最多3个组合左/右对齐标签。最佳解决方案为您提供最大的灵活性,并简化了复杂使用的任何多视图。
答案 1 :(得分:0)
不幸的是,您无法将UILabel设置为具有两个不同的对齐方式。我建议有两个标签,一个标签左边对齐,另一个标签右边。或者,你可以只有一个标签,并在btw中放入一堆空格,但这只适用于一个屏幕尺寸。希望这可以帮助!!如果确实如此,我很乐意,如果你能检查一下答案。
干杯, 西奥