2012-05-07 9 views
0

私は、別のView Controllerに接続するUItableViewを持っています。私はUITapGestureRecognizerを使用して、tableViewに戻る。このセグは機能しますが、最初に選択したテーブル行のtableViewにセグを戻したいと思います。これをどのように達成するのですか?選択したセル行のTableViewに戻る

編集:編集コード

- (void)viewWillAppear:(BOOL)animated { 

appDelegate = [[UIApplication sharedApplication] delegate]; 
NSLog(@"%@", NSStringFromCGPoint(appDelegate.testCGPoint)); 

[self.tableView setContentOffset:appDelegate.testCGPoint animated:YES]; 
} 

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 

if ([segue.identifier isEqualToString:@"ShowDetail"]) { 

    appDelegate.testCGPoint = [self.tableView contentOffset]; 

} 
} 

答えて

1

あなたが値にテーブルビューのオフセットコンテンツを保存する必要があります。
float tableContentOffset;
その後、そのフロートにオフセットを保存します。 最後に、テーブルビューのコンテンツオフセットを設定する必要がある場合、
[self.tableView setContentOffset:CGPointMake(0、tableContentOffset)animated:YES];

+0

このコードは、View ControllerのviewWillAppear:メソッドに配置する必要があります。 – eazimmerman

+0

フロートの代わりにCGPointを使用しましたが、私のために働いていません。しかし、私は初心者ですので、私はここで誤って複数のことをしているかもしれません。上記の編集コードをご覧ください。 – mnort9

+0

私の2番目の答えを見てください!あなたの問題は、tableContentOffset変数へのアクセスの中にあるかもしれません! – wayway

0

あなたのコードでは、CGPointを作成しました。ただし、作成はprepareForSegueメソッド内に存在していました。したがって、メソッドの外側のポイントにアクセスすることはできません!これに対する解決策は、ヘッダーファイルにCGPointを作成することです。
CGPoint tableContentOffest;
次に、prepareForSegueメソッドで、テーブルのオフセット値を設定するだけです。新しいCGPointを作成しないでください。
また、あなたのコード[vc.tableView setContentOffset:_tableContentOffset animated:YES];あなたはそれを[vc.tableView setContentOffset:tableContentOffset animated:YES]で設定したいでしょう。 _tableContentOffsetではありません。 これが助けてくれることを願っています!

+0

ViewControllerクラスなどで 'CGPoint tableContentOffset'を作成する必要がありますか?コンパイラがDetailViewControllerの変数を認識していません。私は 'CGPoint tableContentOffset'を私のViewControllerヘッダーに設定しました@interface {} – mnort9

+0

これで、私はちょっと仕事をしています。私は 'self.tableView ...'部分を完全に誤解していましたが、今度は、自分のdetailViewControllerにこのコードが必要ないことが分かりました。すべて私のメインVCに設定されています。しかし、ヘッダファイルに 'CGPoint tableContentOffset 'を置いてもうまく動作しませんでした。表示が再表示されたときにリセットされているか設定されていないようです。代わりに、私はAppDelegateでCGPointを設定し、私のVCでそれを呼び出しました。これはうまくいくようですが、どうしてあなたの方法を使用できなかったのか分かりません。 – mnort9

+0

また、動作しますが、setContentOffsetが遅れています。上記のコードをもう一度編集しました。あなたのすべての協力に感謝します。 – mnort9

関連する問題