2011-12-29 60 views
0

我正在學習使用MonoTouch。我有兩個按鈕的屏幕。當用戶點擊一個按鈕時,以編程方式創建的視圖將出現並隱藏另一個視圖。我有這個成功的工作。在我的一個觀點中,我想顯示一個文本框。雖然我相信我已經創建/添加了正確的文本框到我的視圖,但它並沒有出現。我的初始化代碼如下所示:使用MonoTouch以編程方式將UITextField添加到UIView

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

你有沒有嘗試刪除和或改變你如何添加視圖 的順序,我相信所有你需要的是

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

這可能是因爲您標記視圖2爲隱藏。因此,整個視圖甚至不可見。如果你刪除this.view2.Hidden = true,你應該看到你的文本字段。

1

替換

textField.Bounds =新的RectangleF(20,13,200,31);

textField.Frame =新的RectangleF(20,13,200,31);

1

你的文本框爲視圖2子視圖。由於您正在設置view2.Hidden = true,它也隱藏了View2的所有子視圖,其中包括文本字段。

您需要注意的另一件事是什麼視圖是「在頂部」。嘗試使用UIView的SendSubviewToBack(UIView view)BringSubviewToFront(UIView view)方法。

相關問題