2014-06-10 43 views
3

我想在編譯和運行應用程序時顯示以下UITextField。我已將UITextField聲明並初始化爲:如何使UITextField與Swift代碼一起出現

var myTextField: UITextField = UITextField(frame: CGRect(x: 0, y: 0, width: 200.00, height: 40.00)); 

但是,當我運行該應用程序時,此文本字段未顯示。什麼Swift代碼會使文本字段出現?

回答

7

實際上,您必須將文本字段添加到視圖層次結構中,根據您所在的類的不同,該視圖層次稍有不同。例如,如果您處於UIViewController子類中,則將其添加爲子視圖UIView附加到視圖控制器的視圖屬性。

var myTextField: UITextField = UITextField(frame: CGRect(x: 0, y: 0, width: 200.00, height: 40.00)); 
self.view.addSubview(myTextField) 

或者,如果你使用的UIView的子類時,您可以使用:

self.addSubview(myTextField) 

您已經添加到視圖層次的文本字段後,它仍然是可能的,你贏了無法看到它。默認情況下,文本字段將具有白色背景顏色,沒有文本,並且周圍沒有邊框。這可以通過使用以下屬性進行更改。

myTextField.backgroundColor = UIColor.redColor() 
myTextField.text = "some string" 
myTextField.borderStyle = UITextBorderStyle.Line 
+0

我已經添加到代碼中,但是當我運行應用程序時,文本字段仍然不出現。我在UIViewController裏面。 –

+0

@StephenFox它可能在屏幕上,你看不到它。嘗試將文本添加到文本字段中,或者將背景顏色設置爲白色以外的其他字體以便能夠看到它。 'myTextField.text =「some string」'或'myTextField.backgroundColor = UIColor.redColor()' –

+0

@StephenFox您還應該更改文本字段的bordStyle。通過這種方式實例化時,我相信它沒有默認設置。 'myTextField.borderStyle = UITextBorderStyle.Line' –

1

您需要將此UITextField添加爲另一個UIView的子視圖。

假設您位於UIViewController之內,您可以撥打self.view.addSubview(myTextField)

相關問題