我創建了一個UIViewController,並帶有一個容納UITableViewController的ContainerView。在ParentViewController的ViewDidLoad()方法中,我設置了兩個viewConroller之間的父子關係。嵌套在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上的gestureRecognizers,它們似乎是按順序的,你會期待考慮委託方法被觸發。
我也在模擬器和我的iPhone上運行這兩個,並觀察到兩者都有相同的行爲。
原來這只是一些愚蠢的我忽略了,看到@phamot答案波紋管。隨意投票這個問題,因爲事實證明,與TVC在ContainerView或Swift 3中嵌套沒有任何關係 – TMin