我正在学习使用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不出现?
谢谢!
答案 0 :(得分:1)
替换
textField.Bounds = new RectangleF(20,13,200,31);
与
textField.Frame = new RectangleF(20,13,200,31);
答案 1 :(得分:1)
您的textField是 View2 的子视图。由于您要设置 view2.Hidden = true ,因此它还隐藏了View2的所有子视图,其中包含文本字段。
您需要注意的另一件事是" on-top"。尝试使用UIView的SendSubviewToBack(UIView view)
和BringSubviewToFront(UIView view)
方法。
答案 2 :(得分:0)
您是否尝试删除和/或更改添加视图的顺序 我相信你所需要的只是
this.view2.AddSubView(textField);
or
this.View.AddSubview(view2);
答案 3 :(得分:0)
这可能是因为您将view2标记为隐藏。因此,整个视图甚至都不可见。如果你删除this.view2.Hidden = true,你应该看到你的文本字段。