2014-11-11 1 views
0

У меня возникла проблема с несколькими пользовательскими ячейками в виде таблицы. Для разных пользовательских ячеек я использовал различный идентификатор ячейки. Но содержимое ячейки видно через некоторое время, когда я просматриваю таблицу. См Первого изображения enter image description hereКак загрузить различные пользовательские ячейки в tableview

После прокрутки вверх режущая ячейки, показанной правильно enter image description here

Высота ячейки зависит от строки. Обе ячейки созданы с использованием кода не из файла nib.

Пожалуйста, помогите мне. Дайте мне пример, как обрабатывать различные пользовательские ячейки в одном представлении таблицы. Спасибо.

+0

http://stackoverflow.com/questions/14303832/uitableview-with-two-custom-cells-multiple-identifiers – iBhavin

ответ

0

Самый простой способ сделать это - использовать различные пользовательские ячейки в методе cellForRowAtIndexPath для разных случаев.

Значит, вы должны написать некоторые условия, в которых вы будете описывать класс ведьмы для ячейки, который должен использоваться, например, я использую номер indexPath.row, что означает, что номер строки сверху (когда вы пишете условие indexPath .row == 1, так что в основном означает верхнюю строку или верхнюю ячейку в разделе Tableview):

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

    switch indexPath.row { 
    case 0: 
     let cell = tableView.dequeueReusableCellWithIdentifier("Cell1", forIndexPath: indexPath) as! FirstTableViewCell 
    case 1: 
     let cell = tableView.dequeueReusableCellWithIdentifier("Cell2", forIndexPath: indexPath) as! SecondTableViewCell 

    //case 2: 
    //... some other cases you need 
    //case n: 

    default: 
     let cell = tableView.dequeueReusableCellWithIdentifier("Cell3", forIndexPath: indexPath) as! ThirdTableViewCell 
    } 
return cell 
} 

Но вы должны сделать различные классы для ячейки, чтобы удовлетворить свои собственные потребности для каждой ячейки. Надеюсь, это поможет.