簡體   English   中英

斯威夫特,約束,UILabel,錨定權利

[英]Swift, constraint, UILabel, anchor right

期望中的...

在此輸入圖像描述

由於某種原因,以下不起作用:

extension UIView {
    func addWordOnRight() {
        let l = UILabel()

        //l.frame = self.bounds ..?

        l.textAlignment = .right
        l.text = "blah"

        self.addSubview(l)

        let m = self.layoutMarginsGuide
        l.trailingAnchor.constraint(equalTo: m.trailingAnchor, constant: 0).isActive = true
        l.centerYAnchor.constraint(equalTo: m.centerYAnchor, constant: 0).isActive = true
    }
}

如果你l.frame = self.bounds,它會神秘地錨定在左邊,而不是正確。

默認情況下,標簽將translatesAutoresizingMaskIntoConstraints設置為true ,因此視圖會自動添加約束。 添加自己的約束時,這些約束與已添加的約束沖突。 (您應該在控制台中看到很多警告。)

如果要使用autolayout set l.translatesAutoresizingMaskIntoConstraints = false 您的約束現在應該正常工作。

如果您還想設置標簽的寬度和高度,也可以使用約束設置(僅保留框架)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM