2016-07-13 36 views
1

使用自動佈局視覺格式語言可以將視圖的寬度設置爲等於相同視圖的高度?使用自動佈局視覺格式語言可以將視圖的寬度設置爲等於相同視圖的高度?

這是我想做的事:

[view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[stopButton(100)]" options:kNilOptions metrics:nil views:views]]; 
[view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-50-[stopButton(stopButton.height)" options:kNilOptions metrics:nil views:views]]; 

回答

3

您將需要創建一個固定縱橫比限制,而根據該documentation for the visual formatting language,是不可能的目前。

無法表達的一個有用約束是固定寬高比 (例如,imageView.width = 2 * imageView.height)。要創建這樣一個約束,您必須使用 constraintWithItem:attribute:relatedBy:toItem:attribute:multiplier:constant :.

0

盧克凡在固定寬高比的答案是一個很好的答案!

當然,如果你只是想使用在多個地方相同的值應該修改代碼以使用指標字典如下:

NSDictionary* metrics = @{@"stopButtonSize":@100}; 
    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[stopButton(stopButtonSize)]" options:kNilOptions metrics:metrics views:views]]; 
    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-50-[stopButton(stopButtonSize)]" options:kNilOptions metrics:metrics views:views]]; 
相關問題