Переключатель UIS, который никогда не выключается - PullRequest
0 голосов
/ 13 мая 2011

Я создал UISwitch со следующим кодом:

CGRect switchFrame = CGRectMake(200, 10, 94, 27);
UISwitch *yesNo = [[[UISwitch alloc] initWithFrame:switchFrame] autorelease];
[yesNo addTarget:self action:@selector(handleSwitch:) forControlEvents:UIControlEventValueChanged];

Однако, независимо от состояния переключателя, свойство on всегда возвращает YES, даже если оно визуально NO.

Обработчик событий выглядит так:

-(IBAction) handleSwitch: (UISwitch *) sender{
    self.displayCompleted = sender.on;
}

, который устанавливает свойство displayCompleted:

-(void) setDisplayCompleted:(BOOL)newValue{
    displayCompleted = newValue;
    [[self tableView] reloadData];
}

Что может быть причиной этого?

1 Ответ

0 голосов
/ 13 мая 2011

Я совершил глупую ошибку: при воссоздании ячейки после reloadData был создан UISwitch без отражения текущего состояния свойства displayCompleted.

...