Отключить / включить UIButtons в TableView

#iphone #ios #uitableview #uibutton

#iPhone #iOS #uitableview #uibutton

Вопрос:

У меня есть табличное представление с тремя разделами. Первый раздел содержит пользовательские ячейки, в каждой из которых по 3 UIButtons. Содержимое динамическое, поэтому я не знаю, сколько там будет строк или кнопок.

Я хочу создать метод, который отключит все UIButtons в этом первом разделе, а затем другую кнопку, которая их активирует. Я не синтезирую UIButton, поскольку создаю их динамически, поэтому я не могу ссылаться на конкретные UIButtons. Как я могу отключить и включить все UIButtons? Я знаю теги UIButtons, если это поможет. Теги равны indexPath.row.

Заранее благодарю тебя, Эван

Ответ №1:

Вы можете сделать это, получив вложенные просмотры вашей UITableViewCell в виде —

 if (indexPath.section == 0) 
{
    UITableViewCell *cellView = [tblView cellForRowAtIndexPath:indexPath];

    for (UIView *view in cellView.subviews) 
    {
        if ([view isKindOfClass:[UIButton class]]) 
        {
            UIButton *button = (UIButton*)view;
            [button setUserInteractionEnabled:TRUE];
        }
    }
}
  

Ответ №2:

Это можно сделать несколькими способами. Один простой вариант — установить свойство, указывающее, следует ли включать или отключать кнопки, а затем вызывать [self.tableView reloadData]; . Затем вы должны изменить метод cellForRowAtIndexPath, чтобы присвоить включенному свойству каждой кнопки значение свойства, которое вы сохранили ранее (включено / отключено).