0

我想在 UITableView 从详细视图返回时操作表格单元格,以提醒用户他们上次选择的行。UITableView 是在 IB 中创建的,目前没有用于 UITableView 或任何其他句柄的@property 或自定义类。显然,当用户从详细视图返回并调用 viewWillAppear 但我在调试器中没有看到我的 UITableView 的任何句柄时,它存在。

有什么方法可以简单地获取 IB tableView 对象的句柄?

// - The Containing ViewController
  - (void)viewWillAppear:(BOOL)animated
  {


      [super viewWillAppear:animated];

      NSIndexPath *selected = [self.tableView indexPathForSelectedRow];

      if(selected){

        //Do something stylish with the last-selected row
        NSLog(@"Last row selected was: %@",selected);

      }
}
4

1 回答 1

0

我通过创建 NSIndexPath * 的类成员并将其设置在 didSelectRowAtIndexPath 中解决了这个问题。然后,当 viewWillAppear 执行时,当用户从表格视图详细信息返回时,我有最后选择的行,因此我可以轻松地突出显示它或以任何我想要的方式处理它:

 //The Containing View Controller
- (void)viewWillAppear:(BOOL)animated
{

    [super viewWillAppear:animated];

     if(self.lastSelectedRow){

        [self.tableView selectRowAtIndexPath:self.lastSelectedRow animated:YES scrollPosition:UITableViewScrollPositionNone];


      }  
}
于 2012-07-18T17:34:25.983 回答