表格单元格指示符问题

发布于 2024-10-22 00:39:44 字数 190 浏览 5 评论 0原文

在我的应用程序中,我有 UITableView &我使用过

[cell setAccessoryType:UITableViewCellAccessoryCheckmark];

,当我滚动这个表格时,我在多个单元格中得到多个复选标记,

请帮助我..

in my application I have UITableView & i used

[cell setAccessoryType:UITableViewCellAccessoryCheckmark];

and when I scrolled this table then I get multiple checkmark in multiple cell

please help me..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

绅士风度i 2024-10-29 00:39:44

一般来说,单元来自两种方式:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

  static NSString *identifier = @"Cell";
  UITableViewCell *cell = ... // The cell come from reuse queue.
  if (cell == nil) {
      cell = ... // if reuse queue has no cell, then create an autoreleased cell
  } 

  // Configure cell by indexPath.
  // You should configure cell HERE.

}

因为您的单元可能来自重用队列,所以它被配置。显然,您忘记重新配置来自重用队列的那些单元。

In general, the cell come from 2 ways:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

  static NSString *identifier = @"Cell";
  UITableViewCell *cell = ... // The cell come from reuse queue.
  if (cell == nil) {
      cell = ... // if reuse queue has no cell, then create an autoreleased cell
  } 

  // Configure cell by indexPath.
  // You should configure cell HERE.

}

Because your cell maybe come from reuse queue, it was configured. Obviously, you forget to re-configure those cells which come from reuse queue.

呆橘 2024-10-29 00:39:44

上使用此示例代码

您可以在 tableView 的委托方法 didSelectedRowAtIndexPath UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
[单元格集选择:是动画:是];
[单元格 setAccessoryType:UITableViewCellAccessoryCheckmark];

    for(int iterator=0;iterator<3;iterator++)
    {

        UITableViewCell *eachCell = [[self tableView] cellForRowAtIndexPath:[NSIndexPath indexPathForRow:iterator inSection:0]];
        [eachCell setSelected:NO animated:YES];
        [eachCell setAccessoryType:UITableViewCellAccessoryNone];
    }

    UITableViewCell *newCell = [tableView cellForRowAtIndexPath:indexPath];
    [newCell setSelected:YES animated:YES];
    [newCell setAccessoryType:UITableViewCellAccessoryCheckmark];

you can use this sample code on tableView's delegate method didSelectedRowAtIndexPath

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
[cell setSelected:YES animated:YES];
[cell setAccessoryType:UITableViewCellAccessoryCheckmark];

    for(int iterator=0;iterator<3;iterator++)
    {

        UITableViewCell *eachCell = [[self tableView] cellForRowAtIndexPath:[NSIndexPath indexPathForRow:iterator inSection:0]];
        [eachCell setSelected:NO animated:YES];
        [eachCell setAccessoryType:UITableViewCellAccessoryNone];
    }

    UITableViewCell *newCell = [tableView cellForRowAtIndexPath:indexPath];
    [newCell setSelected:YES animated:YES];
    [newCell setAccessoryType:UITableViewCellAccessoryCheckmark];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文