在Xamarin.IOS中,通过编程(使用api代码)向视图添加约束不会';t正确设置右边缘或下边缘

在Xamarin.IOS中,通过编程(使用api代码)向视图添加约束不会';t正确设置右边缘或下边缘,xamarin,xamarin.ios,uikit,Xamarin,Xamarin.ios,Uikit,我有一个子视图myTextView,它在将子视图添加到主视图后设置了正确的约束,如下所示 var myTextView = new UITextView(); // other View setup related codes... View.AddSubview(myTextView); // other constraint related codes... var constTextViewRight = NSLayoutConstraint.Create(

我有一个子视图myTextView,它在将子视图添加到主视图后设置了正确的约束,如下所示

var myTextView = new UITextView();

// other View setup related codes...

View.AddSubview(myTextView);

// other constraint related codes...

var constTextViewRight = NSLayoutConstraint.Create(
                             myTextView,
                             NSLayoutAttribute.Right,
                             NSLayoutRelation.Equal,
                             View,
                             NSLayoutAttribute.Right,
                             1,
                             20
                         );

View.AddConstraint(constTextViewRight);

但这并不能将正确的利润率设定为20点。它与父视图保持连接。

在这里,当我们将事物设置为相对左的另一个元素时,我们必须使用负值,同样,如果我们将事物设置为相对高于另一个元素,则必须使用负值。这是因为UIKit使用(0,0)原点作为设备的左上角。因此,创建代码段的约束应如下所示:

var constTextViewRight = NSLayoutConstraint.Create(
                             myTextView,
                             NSLayoutAttribute.Right,
                             NSLayoutRelation.Equal,
                             View,
                             NSLayoutAttribute.Right,
                             1,
                             -20
                         );
NSLayoutConstraint.Create方法的常量参数应处于负值(-20)