#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, чтобы присвоить включенному свойству каждой кнопки значение свойства, которое вы сохранили ранее (включено / отключено).