UinavigationControllerをUitableViewにポップし、選択した異なる行を表示する
質問
私はaでアプリケーションを作成しています UITableView
のスタックの最初のアイテムである UINavigationController
それが入っていること。 UITableView
ビューを押します」DetailedViewController
"。 の中に DetailedViewController
, 、テーブルビューに入力されているアイテムをナビゲートできます。
ポップするとき DetailedViewController
, 、そしてに戻ります UITableView
, 、どうすればそれぞれのアイテムを介してナビゲートしたアイテムを選択できますか DetailedViewController
中心に表示します UITableView
?
誰もが見ることができる例は、メールアプリケーションです。あなたがあなたの受信トレイにいて、選択をするとき、あなたは「」をプッシュしますDetailedViewController
"。そこに、あなたはに住むアイテムをナビゲートすることができます UITableView
. 。あなたがポップするとき DetailedViewController
, 、それはあなたが最後に見ていたそれぞれのアイテムを選出しません DetailedViewController
.
解決
選択した行を選択するには、次のコードを書きます viewDidAppear:
方法。
// Index path for selected row
NSIndexPath *selectedRow = [_tableView indexPathForSelectedRow];
// Deselet the row with animation
[_tableView deselectRowAtIndexPath:selectedRow animated:YES];
// Scroll the selected row to the center
[_tableView scrollToRowAtIndexPath:selectedRow
atScrollPosition:UITableViewScrollPositionMiddle
animated:YES];
他のヒント
アニメーションをどのように見たいかに応じて、現在選択している行を選択できなくなります。
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
...
}
所属していません StackOverflow