2016-11-09 4 views
-1

Я новичок в быстром. У меня есть UITableView с одним пользовательским UITableViewCell. Он имеет одно поле UIText. По умолчанию numberOfRows равен 1.динамически увеличивать ячейки таблицы на основе введенного значения в текстовом поле, которое находится в ячейке

Когда я ввожу целочисленное значение (x) в это текстовое поле и нажимаю enter, tableview должен добавить x число табличных элементов, и каждая ячейка должна иметь текстовое поле.

Вот мой код:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell : TableViewCell = self.tableView.dequeueReusableCellWithIdentifier("Cell") as! TableViewCell 
    cell.textField?.text = "Created" 
    cell.textField.tag = indexPath.row 
    cell.textField.addTarget(self, action: #selector(textFieldShouldReturn()), forControlEvents: <#T##UIControlEvents#>) 

    return cell 
} 
+0

Это не для меня ясно, что вы просите. Что вы подразумеваете под «введенными n значениями» и «увеличивать n раз»? – ganzogo

ответ

0

Чтобы добиться того, что вы хотите установить IBAction, когда пользователь завершает редактирование, чтобы проверить, если значение вставлено является допустимым числом, если это приращение количества записей на вашем datasource и call tableView.reloadData(), чтобы обновить таблицу.

На вашем cellForRowAtIndexPath вы можете иметь проверку на строку в случае, если вы хотите, клетки, отличные от первого, как так

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    var cell: UITableViewCell! 

    if indexPath.row == 0 { 
     cell = self.tableView.dequeueReusableCellWithIdentifier("Cell") as! UITableViewCell 
     cell.textField?.text = "Created" 
     cell.textField.tag = indexPath.row 
     UITextField().addTarget(self, action: #selector(customMethod), for: .editingDidEnd) 
    } else { 
     cell = self.tableView.dequeueReusableCellWithIdentifier("otherCell") as! UITableViewCell 
     cell.textLabel?.text = "Created programatically" 
    } 

    return cell 
} 
Смежные вопросы