J'ai créé un UIViewController avec ContainerView qui contient un UITableViewController. Dans la méthode ViewDidLoad() de ParentViewController, je définis la relation parent-enfant entre les deux viewConrollers.UITableView imbriqué dans ContainerView ne pas en surbrillance
guard let childView = childViewController.view else {
return
}
addChildViewController(childViewController)
containerView.addSubview(childView)
... add constraints ...
childViewController.didMove(toParentViewController: self)
Le UITableViewController est présenté dans ContainerView. Il défile correctement, mais les cellules ne sont pas mises en surbrillance lorsqu'elles sont engagées. Plus précisément, l'animation où ils changent de teinte ne se produit pas. Les méthodes déléguées
-(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..
}
s'exécutent toutes mais la couleur de la cellule ne change jamais.
J'ai regardé le gestureRecognizers sur le UITableView, et ils semblent être dans l'ordre, ce que vous attendez étant donné que les méthodes de délégué sont déclenchées. J'ai également exécuté ceci dans le simulateur et sur mon iPhone, et j'ai observé le même comportement sur tous les deux.
se trouve que c'était juste quelque chose de stupide, je vis à vis, voir ci-dessous la réponse par @phamot. N'hésitez pas à voter pour cette question, car il s'est avéré ne pas avoir rien à voir avec l'imbrication de la TVC dans le ContainerView ou rapide 3 après tout – TMin