2017-10-28 28 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 
}