2015-07-30 4 views
1
static 
dynamic 
dynamic 
dynamic 
.. 
.. 
dynamic 

У меня есть динамический список таблиц с динамическим контентом. В верхней части списка мне нужна статическая ячейка.Swift: Как использовать статическую ячейку в динамическом UITableView

И попытка добавить ярлык в моей статической ячейке, чтобы попробовать функции.

идентификатор моей статической ячейки является: firstCell

идентификатора Динамических ячеек является: ячейка

override func numberOfSectionsInTableView(tableView: UITableView) -> Int { 
    // #warning Potentially incomplete method implementation. 
    // Return the number of sections. 
    return 1 
} 

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    // #warning Incomplete method implementation. 
    // Return the number of rows in the section. 
    return 5 
} 


override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! UITableViewCell 

    // Configure the cell... 

    cell.textLabel?.text = "test" 


    return cell 
} 

Этого код возврат 5 раз «тест» в моих динамических ячейках. Когда я пытаюсь добавить ярлык и создать выход со статической ячейкой, получите ошибку.

Я искал googled и искал в stackoverflow, но нет быстрого решения. Как это можно сделать?

редактирования.К УЛУЧШЕНИЯ НА ВОПРОС: (. Я сотворю его программно Eg будет использовать UIDatePicker, uipicker и более ..)

На самом деле мне нужно два раздела и section1 будет статический контент, section2 будет работать с просто динамический массив (эта часть - okey)

+0

как вы относитесь к _static_? вы хотите добавить заголовок раздела или то, что именно вы пытаетесь достичь? – holex

+0

Да, см. Мое редактирование. – Mehmet

ответ

1

Вы пробовали что-то вроде этого?

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! UITableViewCell 

    if (indexPath.row == 1) { 
     cell.textLabel?.text = "test" 
    } else { 
     // Configure the cell... 
    } 

    return cell 
} 
+0

логично это сработало, спасибо. Как настроить руководство для моей камеры? Например, мне нужна датапикер в одной из моих статических ячеек. – Mehmet

+3

Это другой вопрос, проверьте это [thread] (http://stackoverflow.com/a/18973645/2834553). BTW, если вы собираетесь отметить мой ответ как правильный, PLS не повышать его, просто отметьте его как правильно. Значок голодный, P – Kutyel

1
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
     if indexPath.row == 0 { 
      var cell: IntroductionCell = self.tableView.dequeueReusableCellWithIdentifier("IntroCell") as! IntroductionCell 
      cell.labelCellText.text = textArray[indexPath.row].uppercaseString 
      return cell 
     } else { 
      var cell1: UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("IntroCell1") as! UITableViewCell 
      return cell1 
     } 
    } 

Изменение идентификатора ячейки для первой ячейки.

It's It LOL

1

Отменить функциональность. Позвоните супер и измените его.

class TableViewController: UITableViewController { 

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     var rowCount = super.tableView(tableView, numberOfRowsInSection: section) 
     if section == 1 { 
      rowCount -= 1 
     } 
     return rowCount 
    } 

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
     let cell = super.tableView(tableView, cellForRowAtIndexPath: indexPath) 
     return cell 
    } 

} 
+0

определение override = "прерывать действие, обычно для того, чтобы взять ручное управление" –

Смежные вопросы