2
我在Swift 3中以編程方式設置約束,並且有一個關於約束的問題。如果我沒有設置高度約束,但設置了topAnchor
和bottomAnchor
,那麼這是否也會執行相同的操作?如果沒有設置高度限制,是否重要?
self.squadTableView.translatesAutoresizingMaskIntoConstraints = false
self.squadTableView.centerXAnchor.constraint(equalTo: self.view.centerXAnchor).isActive = true
self.squadTableView.widthAnchor.constraint(equalTo: self.view.widthAnchor).isActive = true
self.squadTableView.topAnchor.constraint(equalTo: self.view.topAnchor, constant: 0).isActive = true
self.squadTableView.bottomAnchor.constraint(equalTo: self.view.bottomAnchor).isActive = true
相比取出bottomAnchor
約束,然後做
self.squadTableView.heightAnchor.constraint(equalTo: self.view.heightAnchor).isActive = true
我不明白。假設你有4個標籤,從上到下,你將如何使用自動佈局來定位這些標籤。我的意思是你有三種約束:第一個標籤和頂部視圖,在兩個標籤之間,最後一個標籤和底部視圖。我將如何指定這些約束條件,以便它不會過多地拉伸空間,也不會拉伸標籤本身的高度?我會給百分比空間/距離/高度還是隻是固定的金額(iPhone5,6加上iPad mini,iPad Air,iPad Pro不同)。我只是想一個粗略的想法,不需要代碼... – Honey
@Honey約束不需要等於一個數字,它們可以設置爲<=。您可能需要指定約束並使用優先級,以便知道哪個優先。你也可以對另一個產生約束==,但使用乘數 - 這是執行基於百分比的常規方法。如果你想要更多的細節,最好的辦法是寫一個問題 –
你也可以爲不同大小的類提供不同的約束。 –