Xamarin.ios Monotouch:从视图中删除所有子视图
我正在尝试从UIView中删除所有子视图。我尝试了以下方法,但没有效果:Xamarin.ios Monotouch:从视图中删除所有子视图,xamarin.ios,subview,Xamarin.ios,Subview,我正在尝试从UIView中删除所有子视图。我尝试了以下方法,但没有效果: for (int i = 0; i < this.Subviews.Length; i++) { this.Subviews[i].RemoveFromSuperview (); } for(int i=0;i0){this.Subviews[0].RemoveFromSuperview();} for (int i = this.S
for (int i = 0; i < this.Subviews.Length; i++)
{
this.Subviews[i].RemoveFromSuperview ();
}
for(int i=0;i
刚刚测试了这个,它对我很有效。(虽然你的代码在我看来也不错…)
如果它不适用于您,则可能存在阻止删除子视图的情况。尝试在之后强制刷新视图,或者专门在主线程上调用删除调用。示例的问题在于如何构建循环
删除0处的视图时,子视图数组将短一个元素,元素1在下一次迭代中变为元素0。另一方面,您的i变量不断增长,因此您最终会跳过视图1。如果您确实需要使用for循环,这就可以了
for (int i = this.Subviews.Length - 1 ; i > 0 i--)
{
this.Subviews[i].RemoveFromSuperview ();
}
基于0的东西可以解决这个问题,对吗?类似于
while(this.Subviews.Length>0){this.Subviews[0].RemoveFromSuperview();}
for (int i = this.Subviews.Length - 1 ; i > 0 i--)
{
this.Subviews[i].RemoveFromSuperview ();
}