私は、UITableViewControllerを保持するContainerViewでUIViewControllerを作成しました。 ParentViewControllerのViewDidLoad()メソッドでは、2つのviewConrollersの間に親子関係を設定します。ContainerViewにネストされたUITableViewがハイライト表示されない
guard let childView = childViewController.view else {
return
}
addChildViewController(childViewController)
containerView.addSubview(childView)
... add constraints ...
childViewController.didMove(toParentViewController: self)
UITableViewControllerは、ContainerViewに表示されます。正しくスクロールしていますが、タップしたときにそのセルは強調表示されません。特に、色合いが変化するアニメーションは発生していません。デリゲートメソッド
-(BOOL)tableView:(UITableView *)tableView shouldHighlightRowAtIndexPath:(NSIndexPath *)indexPath {
return true;
}
-(void)tableView:(UITableView *)tableView didHighlightRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"Oh no you didn't!");
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// stuff..
}
すべてが実行されていますが、セルの色合いは変更されません。
私はUITableViewのジェスチャーリコグニザーを見てきました。そして、それらは順番になっているように見えます。これはデリゲートメソッドがトリガーされていると考えられます。
私はこれもシミュレータと私のiPhoneの両方で実行しており、両方で同じ動作を観察しています。
それは私が見落として愚かなだけで何かだったが判明し、@phamotによって回答怒鳴るを参照してください。コンシューマビューでTVCを入れ子にしたり、すぐに3をスローしたりとは関係ないことが判明したので、この質問に投票してください。 – TMin