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 に答える