2015-02-16 4 views
-5

У меня есть tableView с двумя разными пользовательскими ячейками. В одной ячейке есть несколько текстовых полей, а у других также есть разные текстовые данные, здесь мне нужно свернуть и скрыть каждую ячейку. Я не знаю, как это сделать. Пожалуйста, дайте мне знать.Как отображать и скрывать ячейки таблицы в swift

https://maniacdev.com/2013/03/an-open-source-ios-control-allowing-you-to-create-great-looking-collapsible-lists-without-uitableview

Пожалуйста, обратитесь ссылке выше, я хочу то же самое в стрижа.

Заранее спасибо

+0

Какие клетки вы говорите, PLE ase предоставить дополнительную информацию и опубликовать код для того, что вы сделали –

+0

отредактировано. Thanks @Vinay jain –

+0

Не могли бы вы добавить дополнительные детали. Невозможно решить проблему с такой меньшей информацией. Что именно вы хотите сделать и что вы сделали. –

ответ

4

Итак, вы хотите, чтобы скрыть одну из ваших UITableViewCells?

Жаль, что самый простой способ - добавить дополнительную информацию в свой «Массив данных строк».

Например:

У вас есть 10 колонок, и вы хотите, чтобы скрыть 4 конкретного столбца. У вас есть функция, называемая «getRowData» - это возвращает (когда фильтр не выбран) все 10 строк. Когда вы нажимаете кнопку, вы можете изменить функцию «getRowData», чтобы вернуть только 4 строки, которые вы хотите.

С примером, который вы показали выше, вы хотите получить несколько складных списков на основе UITableViewController.

Итак, у вас есть (в этом примере) 3 Основные категории - и если пользователь нажимает на один «Заголовок», вы хотите развернуть список для этой категории.

Таким образом, вы можете использовать разделы - создать раздел для каждой категории. Затем реализовать что-то вроде этого:

// создать основные переменные для «активированной категории»

var enabledCategory:Int = 0 // you could add i base value 

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 

     let indexPath = tableView.indexPathForSelectedRow(); 

     enabledCategory = indexPath.row; 
.... 

Проверьте здесь, какой раздел щелкнули пользователь. . Если (например, «0» - так первый, расширить этот раздел Так что-то вроде этого:

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

    if(indexPath.section == enabledCategory) { 
     return rows // return rows you want to show 
    } 

Вам нужно также изменить количество строк здесь:

override func numberOfSectionsInTableView(tableView: UITableView) -> Int { 

    return 3 
} 

это должно быть (в вашем примере) всегда 3.

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 

Это зависит от вашего раздела // Категория

+1

Спасибо, но мне нужен код в swift –

+20

Это быстро ... – derdida

+0

So funny =))))) –

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

  • Нет связанных вопросов^_^