2017-10-08 100 views
1

我遇到了一個問題,我想要一個視圖(indicatorView)的寬度等於一個按鈕。我正在使用Snapkit,但我認爲這個問題也應該與裸NSLayoutConstraint相關。以下是我在做什麼使indicatorView's寬度等於button約束使寬度等於另一個

indicatorView.width.equalTo(button.snp.width) 

然而,這使得按鈕的寬度等於所述indicatorView的寬度,而不是使indicatorView的寬度等於按鈕的寬度。

如何指定關係的方向?那可能嗎?

+0

你是指'ActivityIndi​​catorView'? –

+0

像這樣的約束始終是雙向的。它只是說這兩個項目必須具有相同的寬度。你必須通過寬度約束或通過綁定它的邊緣來爲你的UIButton設置一個明確的寬度。 – danieltmbr

回答

0
let f = indicatorView.frame 
indicatorView.frame = CGRect(x: f.origin.x, y: f.origin.y: width: button.snp.width, height: f.height) 
1
indicatorView.translatesAutoresizingMaskIntoConstraints = false 
indicatorView.widthAnchor.constraint(equalToConstant: button.widthAnchor).isActive = true 
0

你是否在正確的封閉包裝呢?所以它應該看起來像這樣:

indicatorView.snp.makeConstraints { (make) in 
     make.width.equalTo(button) 
}