如何让两个 UILabel 并排显示?

How can I make two UILabels appear side by side?

我有两个 UILabel :

            let wordLabel               = UILabel(frame: CGRectMake(0,0,(self.view.frame.width - 30) / 2,0))
            wordLabel.text              = word.valueForKey("sanskrit") as? Stringsize: 16)
            wordLabel.numberOfLines     = 0
            wordLabel.sizeToFit()
            wordLabel.translatesAutoresizingMaskIntoConstraints = false

            let englishWordLabel           = UILabel(frame: CGRectMake(wordLabel.frame.width + 10,0,labelWidth,0))
            englishWordLabel.text          = word.valueForKey("english") as? Stringsize: 16)
            englishWordLabel.numberOfLines = 0
            englishWordLabel.sizeToFit()
            englishWordLabel.lineBreakMode = .ByWordWrapping
            englishWordLabel.translatesAutoresizingMaskIntoConstraints = false

基本上,我在 UITableView 的单元格中堆叠了一个数组。

为了整理,我想给每个 UILabel 大约一半的 space(减去一些填充)。 wordLabel 在左边。 englishWordLabel右边。

现在让我大吃一惊的是,如果我删除 sizeToFit 行,则大小调整有效,但我的整个 wordLabel 完全消失了。我可以为其添加边框以在预览中查看它,或调试视图层次结构,但它完全消失了。添加sizeToFit,我的标签出现了,但是宽度被忽略了(我理解的那部分)。

我考虑过添加约束来完成这项工作,但我不确定这是否是最佳策略。

你会推荐做什么来完成这个?

正如@Robotic Cat 所提到的,您正在寻找的似乎是Auto Layout

自动布局使您能够在故事板中以编程方式and/or 设置视图约束。这些约束允许您根据屏幕尺寸、视图 bounds/frames、相对 width/height 和许多其他因素创建自适应布局。为了帮助您入门,我提供了有关自动布局的 Ray Wenderlich 教程,以及一些有用的 Apple 文档。