2016-05-24 18 views
2

我试图从多个文本字段中获取文本,这些文本字段是按照用户需要的方式添加的,方法是按下按钮并将其添加到数组中以便在按下提交按钮时使用下一个视图控制器,但是我无法弄清楚如何去做吧。这是我按下按钮时如何创建文本字段的代码。如何从以编程方式在swift 2.0中创建的文本框中检索文本?

var numberOfTasks = 1 

var i = 0 


@IBAction func addTaskButton(sender: AnyObject) 
{ 
    numberOfTasks = numberOfTasks + 1 

    addNewTask() 


} 

override func viewDidLoad() { 
    scrollViewTAR.contentSize.height = 50 
    addNewTask() 
} 

func addNewTask(){ 

    var yPosition:CGFloat = 10 
    var xPosition:CGFloat = 0 
    var textWidth:CGFloat = scrollViewTAR.frame.width-20 

    for (i=0; i<numberOfTasks; i = i + 1){ 

    var textField: UITextField = UITextField() 
    textField.frame = CGRectMake(xPosition, yPosition, textWidth, 30) 
    textField.placeholder = "Enter Task \(i + 1) Here" 
    textField.font = UIFont.systemFontOfSize(15) 
    textField.borderStyle = UITextBorderStyle.RoundedRect 
    textField.autocorrectionType = UITextAutocorrectionType.No 
    textField.keyboardType = UIKeyboardType.Default 
    textField.returnKeyType = UIReturnKeyType.Done 
    textField.clearButtonMode = UITextFieldViewMode.WhileEditing; 

    scrollViewTAR.addSubview(textField) 
    scrollViewTAR.frame.size.width = view.frame.width-20 
    scrollViewTAR.center = view.center 
    scrollViewTAR.contentSize.height += 20 
    yPosition += 35 

    } 

如果您需要我的其他任何代码,只需询问。

回答

1

您遇到的问题是其中一个范围。当你声明

var textField: UITextField = UITextField() 

这意味着,这texfield是只在此功能范围的

所以,你有几种选择

1)改变你的函数:

func addNewTask() -> UITextField 

并返回textField

2)使textField一类级别构建

var textfield: UITextField? 
func addNewTask() { 

// lots of code 

self.textField = UITextField() 
} 

在这两种情况下,然而,当你访问文本的价值,你指的是

.text财产

enter image description here

你可以简单地做到这一点:

textField.text = "HELLO"

1

请勿在函数中声明您的textField。在你的ViewController类中声明并在你的函数中进行编辑。那么你可以参考它:

textField.text 
相关问题