2017-10-28 55 views
-1

enter image description here自动布局的限制不适用于

这是我为标签的限制,但它似乎没有被影响它与标签的位置总是在左上角。我错过了一步还是犯了一个错误?

如何让标签定位在中心?

enter image description here

+1

根据你的约束完全正确,你期望什么? – Mina

+0

基于你的约束,它非常符合逻辑。如果你希望你的标签只以'label.textAlignment = .center'为中心 –

回答

0

为了让您的标签文本完美地中心,删除

锁名称Lbl.leading = leadingMargin - 8

保留剩下的两个约束以下工作有基础是:

Lock Name Lbl.centerY = superview.centerY 
Lock Name Lbl.centerX = superview.centerX 

加入这两个约束条件:

Lock Name Lbl.width = superview.width /* Or desired width */ 
Lock Name Lbl.height = superview.height /* Or desired height */ 

而且不要忘了你的标签对齐文本中心。

对于多行设置编号。线为0,下面的约束将应用的(我始终建议其使用):

Lock Name Lbl.centerX = superview.centerX 
Lock Name Lbl.width = superview.width /* Or desired width */ 
Lock Name Lbl.top  = superview.top 
Lock Name Lbl.bottom = superview.bottom 

而当你使用的tableview所以用这个的tableview委托函数的代码行内的viewDidLoad你的UITableViewController类中:

override func viewDidLoad() { 
    super.viewDidLoad()   
    tableView.estimatedRowHeight = 200 
} 

override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { 
     return UITableViewAutomaticDimension 
}