我似乎无法弄清楚如何在viewdidload方法之外添加TextField
。
我有function
来检查选择(在UIPickerView
中)是否为欧洲,如果是,则需要添加新的TextField
,如果不是(并且TextField
存在)它应该删除它。
这是我的代码:
func updateLabel(){
switch country{
case "Internationaal":
tailleSize = taille.international
case "Europe":
var myTextField = UITextField(frame: CGRect(x: 0, y: 0, width: 200, height: 40.00));
myTextField.backgroundColor = UIColor.grayColor();
myTextField.placeholder=" Enter here";
//myTextField.text = " Enter here";
myTextField.borderStyle = UITextBorderStyle.Line;
myTextField.secureTextEntry=true;
tailleSize = String(taille.europe)
default:
tailleSize = String(taille.europe)
}
}
每次用户按下updateLabel
时都会运行 button
,或者从UIPickerView
中选择一个项目。
我该怎么做?
我试图在变量中获取主视图控制器并将其添加到那里,但这是失败的。
答案 0 :(得分:0)
我认为将你的UITextField分别添加到hidden
上的viewDidLoad
视图会更有意义,它会产生更清晰的switch语句,你的文本字段可以重复使用而不是每次重新创建。
<强>的ViewController 强>
override func viewDidLoad() {
super.viewDidLoad()
addTextFieldToView()
}
var myTextField:UITextField!
func addTextFieldToView() {
myTextField = UITextField(frame: CGRect(x: 0, y: 0, width: 200, height: 40.00))
myTextField.backgroundColor = UIColor.grayColor()
myTextField.placeholder = "Enter here"
myTextField.borderStyle = UITextBorderStyle.Line
myTextField.secureTextEntry = true
myTextField.hidden = true
self.view.addSubview(myTextField)
}
func updateLabel(){
switch country{
case "International":
tailleSize = taille.international
myTextField.hidden = true
case "Europe":
tailleSize = String(taille.europe)
myTextField.hidden = false
default:
tailleSize = String(taille.europe)
myTextField.hidden = true
}
}
您还可以使用enabled
属性来启用和禁用文本字段,而不是使其不可见。 myTextField.enabled = false
答案 1 :(得分:0)
将TextField添加到故事板中您想要的位置&#34; normal&#34;方式并将其与您的代码连接。
override func viewDidLoad() {
super.viewDidLoad()
myTextField.hidden = true; //TextField disappears
//You also can set the textField in Interface Builder to hidden.
}
func updateLabel(){
switch country{
case "Internationaal":
tailleSize = taille.international
case "Europe":
myTextField.hidden = false; //TextField appears
myTextField.backgroundColor = UIColor.grayColor();
myTextField.placeholder=" Enter here";
//myTextField.text = " Enter here";
myTextField.borderStyle = UITextBorderStyle.Line;
myTextField.secureTextEntry=true;
tailleSize = String(taille.europe)
default:
tailleSize = String(taille.europe)
}
}