私のビューコントローラはUIViewController
です。に追加UITableView
しましたUIView
。テーブルビューの行が選択されると、プッシュセグエが新しいビューコントローラーを起動します。ただし、新しいView Controllerから戻ると、選択した行は選択されたままになります。最初のコントローラーがであったときはこの問題はありませんでしたが、ビューにアクティビティインジケーターを追加したかったので、UITableviewController
これをに変更する必要がありました。UIViewController
私が気付いたもう1つのことは、最初のコントローラーがであったUITableviewController
ときviewDidLoad
に、新しいビューコントローラーから戻ったときに呼び出されなかったことです(ただし、現在は呼び出されています)。
2727 次
6 に答える
11
追加...
[tableView deselectRowAtIndexPath:indexPath animated:YES];
のtableView:didSelectRowAtIndexPath:
于 2012-12-15T14:14:47.583 に答える
4
これを試して:
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
これはあなたを助けるでしょう...
于 2012-12-15T14:18:14.537 に答える
4
このメカニズムは、提案された回答のバリエーションであり、詳細ビューが消えたときに選択を削除しますが、ユーザーが詳細ビューにアクセスするために何を選択したかを知るのにも役立ちます。
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self.tableView deselectRowAtIndexPath:self.tableView.indexPathForSelectedRow animated:YES];
}
これは、Appleが独自のアプリで行っていることのようです。例については、連絡先アプリで連絡先レコードが選択されたときの動作を参照してください。
于 2013-12-07T06:27:45.160 に答える
2
あなたは付け加えられます
[tableView deselectRowAtIndexPath:indexPath animated:YES];
tableView:didSelectRowAtIndexPath:
代理人で。
またはあなたはすることができます
-(void)viewWillAppear:(BOOL)animated
{
[table reloadData];
}
于 2012-12-15T14:20:19.417 に答える
2
Swift 3.0:
tableView.deselectRow(at: indexPath, animated: true)
于 2017-02-09T20:51:50.580 に答える
-1
tableView.deselectRowAtIndexPath(indexPath, animated: true)
これは、質問に対する最新の回答として役立つ場合があります。
このトピックに関するいくつかの情報をここで見つけました。http://www.raywenderlich.com/81880/storyboards-tutorial-swift-part-2
于 2014-12-16T14:22:35.213 に答える