Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用MonoTouch以编程方式将UITextField添加到UIView_C#_Ios_Xamarin.ios - Fatal编程技术网

C# 使用MonoTouch以编程方式将UITextField添加到UIView

C# 使用MonoTouch以编程方式将UITextField添加到UIView,c#,ios,xamarin.ios,C#,Ios,Xamarin.ios,我正在学习使用MonoTouch。我有一个有两个按钮的屏幕。当用户单击某个按钮时,将显示我以编程方式创建的视图,并隐藏另一个视图。我已经成功地完成了这项工作。在我的一个视图中,我想显示一个文本框。虽然我相信我已经在视图中正确创建/添加了文本框,但它没有出现。我的初始化代码如下所示: RectangleF rectangle1 = new RectangleF(0, 100, 200, 200); this.view1 = new UIView(rectangle1); this.View.Add

我正在学习使用MonoTouch。我有一个有两个按钮的屏幕。当用户单击某个按钮时,将显示我以编程方式创建的视图,并隐藏另一个视图。我已经成功地完成了这项工作。在我的一个视图中,我想显示一个文本框。虽然我相信我已经在视图中正确创建/添加了文本框,但它没有出现。我的初始化代码如下所示:

RectangleF rectangle1 = new RectangleF(0, 100, 200, 200);
this.view1 = new UIView(rectangle1);
this.View.Add(view1);

RectangleF rectangle2 = new RectangleF(0, 0, UIScreen.MainScreen.Bounds.Width, 300);
this.view2 = new UIView(rectangle2);
this.view2.Hidden = true;
this.view2.BackgroundColor = UIColor.Green;

UITextField textField = new UITextField();
textField.Bounds = new RectangleF(20, 13, 200, 31);
view2.AddSubView(textField);

this.View.Add(view2);
我做错了什么?为什么文本字段没有出现


谢谢大家!

您是否尝试删除或更改添加视图的顺序 我相信你所需要的就是

this.view2.AddSubView(textField);
or     
this.View.AddSubview(view2); 

这可能是因为您将view2标记为隐藏。因此,整个视图甚至不可见。如果删除this.view2.Hidden=true,您应该会看到您的文本字段。

替换

textField.Bounds=新矩形F(20,13,200,31)


Frame=新的矩形F(20,13,200,31)

您的文本字段是视图2的子视图。由于您正在设置view2.Hidden=true,因此它还隐藏了view2的所有子视图,其中包括文本字段

你需要注意的另一件事是什么样的视图是“在顶部”。尝试使用UIView的
SendSubviewToBack(UIView视图)
BringSubviewToFront(UIView视图)
方法