У меня есть UIButton
в каждом из моих UITableViewCell
. Когда кнопка нажата, я отключу ее, чтобы пользователь не мог ее снова нажать (это напоминает кнопку). Однако, когда пользователь прокручивает пропущенную ячейку, а свитки возвращаются в ячейку, кнопка выбирается еще раз. Я предполагаю, что это происходит потому, что ячейка перерисовывается, когда пользователь возвращается к ней, перезагружая кнопку. Есть ли способ избежать этого? Мой код нижеОтключение UIButton в UITableViewCell с возможностью повторного использования ячеек
Код
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *CellIdentifer = @"cellName";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifer];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifer];
}
UIButton *ilikeit = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[ilikeit addTarget:self action:@selector(like:) forControlEvents:UIControlEventTouchUpInside];
ilikeit.frame = CGRectMake(55, h+70, 45, 25);
[cell addSubview:ilikeit];
return cell;
}
-(void) like:(id) sender {
((UIButton *)sender).enabled = NO;
}
Вам нужно сохранить * состояние * в объекте модели данных datasource. – Droppy
добавьте меня в skype (amir.ios), чтобы принять код. Я исправил вашу проблему –