2016-11-07 25 views
1

我是NSLayoutConstraint的新用戶,我想將標籤定位到右側角落。但由於我添加它的位置在左邊。請查找代碼和圖像樣本。還有一件事我希望標籤左右爲8像素。如果它有更多的文本,它也需要擴展。將UILabel定位到右邊是NSLayoutConstraint withVisualFormat

let views : [String : Any] = ["title" : articleTitleLabel, "body" : articleDescriptionLabel, "image" : articleImageView ,"footer" : articleAuthorLabel] 

    let widthConstraints = NSLayoutConstraint.constraints(withVisualFormat: "H:|-5-[image(130)]-5-[title]-5-|", 
                  options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: views) 
    let widthConstraints1 = NSLayoutConstraint.constraints(withVisualFormat: "H:|-5-[image]-5-[body]-5-|", 
                  options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: views) 

    let heightConstraints = NSLayoutConstraint.constraints(withVisualFormat: "V:|-5-[title]-5-[body]-5-[footer]-(>=5)-|", 
                  options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: views) 

    let heightConstraints1 = NSLayoutConstraint.constraints(withVisualFormat: "V:|-5-[image(130)]-(>=5)-|", 
                  options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: views) 


    NSLayoutConstraint.activate(widthConstraints) 
    NSLayoutConstraint.activate(heightConstraints) 
    NSLayoutConstraint.activate(widthConstraints1) 
    NSLayoutConstraint.activate(heightConstraints1) 

截圖的問題:

enter image description here

回答

0

要在右下角的位置你articleAuthorLabel,你需要添加一些關於它的水平的制約。

試試這個:

let authorConstraints = NSLayoutConstraint.constraints(withVisualFormat: "H:[footer]-5-|", 
                 options: NSLayoutFormatOptions(rawValue: 0), 
                 metrics: nil, views: views) 
NSLayoutConstraint.activate(authorConstraints) 

要確保標籤不推過去的左邊,你可以使用:

"H:|-(>=5)-[footer]-5-|" 

,並確保您的內容擁抱優先級高,足以拉標籤頁邊距。

或者,您可以這樣做,並將文本右對齊:

"H:|-5-[footer]-5-|" 
+0

試過了。不工作。我的問題是在右上角。現在它位於左側角落 – Vinodh

+0

對不起,請參閱我的編輯。 – stevekohls

+0

@Vinodh是否能夠正常工作? – stevekohls