Я нашел множество вопросов, которые задают почти то, что я хочу, но пока не смогли реализовать собственное решение.UITableViewCell отключить ячейку, затем снова включить и обновить без перезагрузки.
У меня есть 2 раздела в моем UITableViewController, и до сих пор все работает довольно хорошо. У меня есть AlarmEnabled UISwitch и ячейка AlarmDate, которая вытягивает таблицу UIActionSheet, чтобы можно было выбрать дату пожара и т. Д. Я пытаюсь отключить/вычеркнуть ячейку AlarmDate (ячейку 0), когда кто-то отрицает AlarmEnabled UISwitch в «в реальном времени». Это делает работает, но только если я a) Отрицательный UISwitch b) Выход из режима Отмена/Сохранение UIButton c) Повторно введите вид.
Я до сих пор пытался Tableview: reloadRowsAtIndexPath: метод следующим образом:
NSIndexPath *tempIndexPath = [NSIndexPath indexPathForRow:0 inSection:0];
NSArray *tempIndexPathArray = [[NSArray alloc] initWithObjects:tempIndexPath, nil];
[self.tableView reloadRowsAtIndexPaths:tempIndexPathArray withRowAnimation:UITableViewRowAnimationNone];
[tempIndexPathArray release];
Возможно, из-за мое двухпозиционное отношение с программированием IOS, я просто неправильно понять, где этот код должен быть помещен (в настоящее время в пределах селектор для аксессуара AlarmEnabled UISwitch), но он не выполняет то, что мне нужно (но звучит так, как если бы оно использовалось правильно).
Я думал, я бы попытаться увеличить свою познавательную и попробовать что-то вроде следующего в селекторе для UISwitch,
#define NOT(a) !a
....
UITableViewCell *tempCellAlarmDate = [self.tableViewController.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
tempCellAlarmDate.userInteractionEnabled = NOT(tempCellAlarmDate.userInteractionEnabled);
// forget transparency for now.
//tempCellAlarmDate.alpha = 0.0;
.. но оживленно рыси грызун питания динамо в моем черепе не одобрить этот код, и, таким образом, моя мечта о переключении в режиме реального времени userInteractionEnabled не выполняется.
Любые советы оценили :-)
Благодарности
подкожно.
'#define NOT (a)! A' - вы шутите? – Sulthan
@ Султан -пожалуйста, объясните, что вы имеете в виду, вместо того, чтобы публиковать риторику. – swisscheese
Вы используете макрос, чтобы преобразовать язык программирования в собственный язык программирования. Это не очень хорошая идея. – Sulthan