2016-12-20 7 views
0

Так что я много искал и не смог найти подходящий ответ на мой вопрос, то есть рассмотреть таблицу, которая должна иметь разборчивые заголовки разделов. Когда отображается TableView, все заголовки разделяются. При нажатии на один из заголовков разделов он расширяется, чтобы предоставить ячейке формы, которая является пользовательским видом, и содержит текстовые поля, кнопки, ярлыки, переключатели и т. Д. Аналогичным образом, когда загорается какой-либо другой заголовок раздела, первый заголовок раздела сворачивается, а текущий открывается и имеет другой пользовательский вид с различными текстовыми полями, кнопками, индикаторами активности и т. д. Все они должны отображаться в виде таблицы, поэтому область свернуть/развернуть то же самое и помогает пользователю легко взаимодействовать.Складывающиеся разделы и несколько пользовательских UITableViewCell для каждого раздела

Также, пожалуйста, дайте мне знать, подходит ли мой подход, как будто я хотел бы знать, могут ли подобные заголовки разделов иметь отдельные ячейки, у которых разные представления, как подзаголовки, занимающие требуемую функциональность.

Пожалуйста, помогите. Я хотел бы создать следующее:

enter image description here

ответ

0

Поместите UIButton на ячейку заголовка и дать действие на него так:

В viewForHeader метода:

btn.tag = indexPath.row; 
[tapBtn addTarget:self action:@selector(openHeader:) forControlEvents:UIControlEventTouchUpInside]; 

Затем

- (void)openHeader:(UIButton *)btn { 
    if (selectedSection == btn.tag) { // selectedSection be an Int value globally declared, initialised as -1 
     selectedSection = -1; 
    } 
    else { 
     selectedSection = btn.tag; 
    } 
    [tableView reloadData]; 
} 

В:

if (section == selectedSection) { 
    return count; 
} 
else { 
    return 0; 
} 

Это работает для меня, я надеюсь, что это работает для вас тоже.

+0

Благодарим вас за ответ, и это определенно поможет мне свернуть разделы, однако это не отвечает на мой вопрос. Я обновил его. Пожалуйста ознакомтесь –