Storyboardを使わないでUITextFieldなどを表示したいときは、UIViewControllerのフィールドにUITextFieldなどを直接入れる。
多くのサンプルではviewDidLoadの中で宣言しているが、だいたい現実的でない。UIViewControllerのフィールドで宣言して、viewDidLoadなどで表示するようにする。
class TestViewController: UIViewController {
var emailText : UITextField = UITextField()
override func viewDidLoad() {
super.viewDidLoad()
emailText.frame = CGRect(x: 0, y: 120, width: self.view.frame.width/2, height: 48)
emailText.center.x = self.view.center.x
self.view.addSubview(emailText)
UIViewControllerのviewはUIViewというクラスのインスタンスであり、UIViewには画面を追加する関数addSubviewを持っている。Appleの公式ページによると、この関数は画面を一番最後に追加するようだ。もちろん実際の位置はframeなどで指定する。