如何在xamarin iOS中的另一个子视图下面设置一个子视图

时间:2016-12-09 07:36:59

标签: ios xamarin

var mainStack = new UIStackView();
mainStack.Alignment = UIStackViewAlignment.Leading;
mainStack.Spacing = 10;
mainStack.Axis = UILayoutConstraintAxis.Vertical;
mainStack.Frame = new CGRect(10,10,Frame.Width - 30,Frame.Height - 100);


var mainStack1 = new UIStackView();
mainStack1.Alignment = UIStackViewAlignment.Center;
mainStack1.Spacing = 10;
mainStack1.Axis = UILayoutConstraintAxis.Vertical;
mainStack1.Frame = new CGRect(5, 5, Frame.Width - 30, Frame.Height - 200);

this.AddSubview(mainStack);

this.AddSubview(mainStack1);

这是我使用的两个子视图,我想在下面插入一个子视图到另一个子视图。我遇到了两个子视图被覆盖的问题。

1 个答案:

答案 0 :(得分:0)

最简单的方法是更改​​添加视图的顺序。添加的最后一个将位于顶部,因此如果问题仅与您共享的确切代码有关,则只需颠倒添加子视图的顺序:

this.AddSubview(mainStack1);
this.AddSubview(mainStack);

此外,您可以将子视图带到前面(假设this是视图):

this.BringSubviewToFront(mainStack);

或者您可以使用视图的图层属性调整Z顺序:

mainStack1.Layer.ZPosition = 0;
mainStack.Layer.ZPosition = 1;
具有较高z位置的UIView.Layer将出现在具有较低z位置的UIView.Layer前面。