Помогите флажок флажка скрыт - PullRequest
0 голосов
/ 14 марта 2011

Пожалуйста, посмотрите на мой следующий фрагмент кода.Я помещаю флажок в свою ячейку, я могу установить или снять флажок.но когда я прокручиваю табличное представление, флажок флажка становится скрытым.
я имею в виду, я устанавливаю флажок, устанавливая изображение.

Пожалуйста, кто-нибудь поможет мне решить эту проблему.

Спасибо за ваше время.

// Customize the appearance of table view cells.
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {

      static NSString *CellIdentifier = @"Cell";

      UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

      if (cell == nil)
      {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"en"] autorelease];

      cb = [[UIButton alloc] initWithFrame:CGRectMake(5,10, unselectedImage.size.width, unselectedImage.size.height)];

    [cb setImage:unselectedImage forState:UIControlStateNormal];
    [cb setImage:selectedImage forState:UIControlStateSelected];
    [cb addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchDown];
    [cell.contentView addSubview:cb];

    }

    if ( tableView == myTableView )
    {
      titleLabel = [[UILabel alloc]initWithFrame:CGRectMake(60, 0, 150, 35)];
      titleLabel.font = [UIFont boldSystemFontOfSize:13];
      titleLabel.textColor = [UIColor blackColor];  
      [cell.contentView addSubview:titleLabel];

      cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 
    }

      return cell;
    }

Ответы [ 2 ]

1 голос
/ 14 марта 2011

взято с здесь

Если я правильно понимаю концепцию TableView, вам нужно сохранить настройку галочки в другом месте. Если ваша ячейка прокручивается из поля зрения, TableViewController может освободить ячейку. Затем, когда вас попросят воссоздать ячейку в вашем делегате, вы должны восстановить ее в том же состоянии, что и раньше.

0 голосов
/ 17 января 2013

В DidSelectRowAtindexPath:

if ([set containsObject:indexPath]) 
{
    [set removeObject:indexPath];
}
else 
{
    [set addObject:indexPath];
}

и в CellForRpwAtIndexPath:

if ([set containsObject:indexPath]) 
{
    cell.imgView.image=[UIImage imageNamed:@"chealBox1.png"];
}
else 
{
    cell.imgView.image=[UIImage imageNamed:@"chealBox2.png"];
}

здесь установлено значение NSMutableSet, и вы должны создать свойство, а также синтезировать и выделитьво viewDidLoad ... будет работать определенно ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...