2016-10-31 81 views

回答

1

你應該能夠乘數設定爲1:2,因爲它與比的作品。

我覺得這是Visual Studio中的iOS設計器中的一個錯誤,因爲乘數是一個浮點數。來自文檔here

乘數:屬性2的值乘以該浮點數。在這種情況下,乘數是1.0。

在Xamarin Studio中,iOS的設計的比率被接受,而且1/20.5

enter image description here

而且在Xcode中:

enter image description here

它甚至被添加到源的xib/storyboard如下:

<constraint id="9" firstItem="3" firstAttribute="width" secondItem="8bC-Xf-vdC" secondAttribute="width" multiplier="1:2"/> 

因此,您可以編輯.xib或.storyboard文件,但那不太理想。

來設定倍頻的替代,你可以設置:

RedView

  • LeadingSpace到superview.leadingspace

  • TrailingSpace到superview.CenterX

GREENVIEW

  • LeadingSpace到superview.CenterX

  • TrailingSpace到superview.trailingspace

這將做一樣的寬度設定到的所述寬度尺寸的一半上海華。

TBH Visual Studio和Xamarin工作室的iOS設計師與Xcode在增加複雜約束方面相比並不是很好(這並不複雜,但仍然失敗)。如果可以,我會建議嘗試在Xcode中進行編輯。

更新

如果您希望通過編程添加它們,在ViewDidLoad補充一點:

public override void ViewDidLoad() 
{ 
    base.ViewDidLoad(); 

    greenView.TranslatesAutoresizingMaskIntoConstraints = false; 
    redView.TranslatesAutoresizingMaskIntoConstraints = false; 

    View.AddConstraints(new NSLayoutConstraint[]{ 
     NSLayoutConstraint.Create(redView, NSLayoutAttribute.Leading, NSLayoutRelation.Equal, View, NSLayoutAttribute.Leading, 1, 0), 
     NSLayoutConstraint.Create(redView, NSLayoutAttribute.Trailing, NSLayoutRelation.Equal, View, NSLayoutAttribute.CenterX, 1, 0), 
     NSLayoutConstraint.Create(redView, NSLayoutAttribute.CenterX, NSLayoutRelation.Equal, View, NSLayoutAttribute.CenterX, 1, 0), 

     NSLayoutConstraint.Create(greenView, NSLayoutAttribute.Leading, NSLayoutRelation.Equal, View, NSLayoutAttribute.CenterX, 1, 0), 
     NSLayoutConstraint.Create(greenView, NSLayoutAttribute.Trailing, NSLayoutRelation.Equal, View, NSLayoutAttribute.Trailing, 1, 0), 
     NSLayoutConstraint.Create(greenView, NSLayoutAttribute.Top, NSLayoutRelation.Equal, redView, NSLayoutAttribute.Top, 1, 0), 
    }); 
} 

它將使像這樣一個觀點:

portland

+0

乘數不接受它。只接受整數值。你能否請你解釋一下。 –

+0

我更新了一些額外的信息 –

+0

我的答案謝謝你的很好的解釋。確實這是Visual Studio iOS Designer中的錯誤。我仍然有1個問題。我如何將trailingSpace設置爲superview.CenterX?沒有編輯約束的選項。我應該以編程的方式嗎? 順便說一句,我發現了另一種廉價的解決方案。 –

相關問題