我正在使用Autolayout。我想設置一個視圖高度等於另一個視圖的寬度。棕色視圖的寬度設置爲與其父視圖成比例的0.3,綠色視圖的高度應與棕色視圖的寬度相同。 我已經完成了4個視圖的設置約束,但4個視圖的寬度不一樣
請善意引用圖像。
我正在使用Autolayout。我想設置一個視圖高度等於另一個視圖的寬度。棕色視圖的寬度設置爲與其父視圖成比例的0.3,綠色視圖的高度應與棕色視圖的寬度相同。 我已經完成了4個視圖的設置約束,但4個視圖的寬度不一樣
請善意引用圖像。
對象 -
NSLayoutConstraint *constraint = [NSLayoutConstraint
constraintWithItem:greenView
attribute:NSLayoutAttributeHeight
relatedBy:NSLayoutRelationEqual
toItem:brownView
attribute:NSLayoutAttributeWidth
multiplier: 1
constant:0];
斯威夫特
NSLayoutConstraint(item: greenView,
attribute: .Height,
relatedBy: .Equal,
toItem: brownView,
attribute: .Width,
multiplier: 1,
constant: 0.0);
我沒有測試代碼,以便讓我知道,如果有問題
這裏Ctrl拖動從greenView
到brownView
並且設置約束Equal Width
。之後,選擇Equal Width
約束,並將第一項設置爲greenView.height
Like This,最後爲您的greenView
設置寬度,X和Y位置。
你好,我應用了你提到的同樣的約束到綠色視圖,但結果是我以前共享的圖像。正如你所看到的綠色視圖的高度和棕色視圖的寬度不一樣 –