【问题标题】:UITableCell - How do I turn off the selected state of the cell when user navigates back to view?UITableCell - 当用户导航回视图时,如何关闭单元格的选定状态?
【发布时间】:2011-03-17 09:58:03
【问题描述】:

我认为这是一种很常见的情况,但我找不到其他人是如何解决这个问题的。

我有一个 UITableView,当用户点击一个单元格时,我会在堆栈上推送一个新的视图控制器(使用 UINavigationController)。当用户点击导航栏上的“返回”时,单元格仍显示为选中状态(即蓝色背景)。

我希望在用户点击单元格时背景最初为蓝色,但在页面再次显示时关闭。

【问题讨论】:

    标签: iphone objective-c xcode ios uitableview


    【解决方案1】:

    您可以在推送新视图控制器之前或之后取消选择单元格。

    - (void)tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
        [aTableView deselectRowAtIndexPath:indexPath animated:YES];
        // create and push new viewController
    }
    

    【讨论】:

      【解决方案2】:

      有两种方法可以做同样的事情:

      在视图中重新加载整个表格都会出现

      -(void)viewWillAppear:(BOOL)animated{
      
         [super viewWillAppear:animated];
      
         [YourTableView reloadData];
      
      }
      

      要么

      -(void)tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
      
          [YourTableView deselectRowAtIndexPath:indexPath animated:YES];
      }
      

      从性能方面考虑第二个是最好的解决方案

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-13
        • 2011-03-19
        • 2011-04-14
        • 2011-10-17
        • 1970-01-01
        相关资源
        最近更新 更多