用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不出现?
谢谢!
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你应该看到你的文本域