我有两个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大约一半的空间(减去一些填充)。
wordLabel
在左边。englishWordLabel
在右边。现在让我震惊的是,如果我删除
sizeToFit
行,那么大小就可以了,但是我的整个wordLabel完全丢失了。我可以给它添加一个边框以在预览中查看它,或者调试视图层次结构,但它完全丢失了。添加sizeToFit
,我的标签出现,但宽度被忽略(我理解的部分)。我想增加一些限制来完成这项工作,但我不确定这是否是最好的策略。
你建议做什么来完成这个任务?
最佳答案
正如@Robotic Cat提到的,看起来你要找的是自动布局。
自动布局允许您以编程方式和/或在情节提要中设置视图约束。这些约束允许您基于屏幕大小、视图边界/帧、相对宽度/高度和许多其他内容创建自适应布局。为了让你开始,我提供了一个关于自动布局的RayWenderlich教程,以及一些有用的苹果文档。
Apple's Auto Layout Guide
Ray Wenderlich Auto Layout Tutorial
关于ios - 如何使两个UILabel并排显示?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37191125/