用MonoTouch编程地添加UITextField到UIView

本文关键字:UITextField UIView 添加 MonoTouch 编程 | 更新日期: 2023-09-27 18:19:13

我正在学习使用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);

我做错了什么?为什么textField不出现?

谢谢!

用MonoTouch编程地添加UITextField到UIView

Replace

文本字段。Bounds = new RectangleF(20,13,200,31);

文本字段。Frame = new RectangleF(20,13,200,31);

您的textField是View2子视图。因为您正在设置view2。Hidden = true,它也隐藏了View2的所有子视图,其中包括文本字段。

你需要注意的另一件事是什么视图是"on-top"。尝试使用UIView的SendSubviewToBack(UIView view)BringSubviewToFront(UIView view)方法。

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

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

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