containerViewController | V pageViewController | | V V ViewController1 ViewController2 | V tableView (property of ViewController2)
UITableView in UIPageViewController nicht nennen Methode DidSelectRowAtIndexPath
Hallo,
Ich habe einen pageViewController mit zwei UIViewControllers. Einer von ihnen enthält eine TableView. Wenn meine TableView in diesem PageViewController erstellt wurde, wurde die Methode didSelectRowAtIndexPath nie ausgelöst. Aber ich kann mit dem "Touch-Event" in meiner Zelle umgehen.
Schauen Sie den folgenden Code:
// Init pageViewController
self.pageController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil];
self.pageController.view.translatesAutoresizingMaskIntoConstraints = false;
CGRect pageFrame = self.view.bounds;
pageFrame.origin.y = TOP_BAR_HEIGHT;
self.pageController.view.frame = pageFrame;
// Set pageviewControllers with my array of controllers (with ViewController1 and ViewController2)
[self.pageController setViewControllers:@[self.subViewControllers[0]]
direction:UIPageViewControllerNavigationDirectionForward
animated:NO
completion:nil];
[self addChildViewController:self.pageController];
[self.view addSubview:self.pageController.view];
[self.pageController didMoveToParentViewController:self];
Aber die Dinge, die sehr seltsam ist: wenn ich auf die Zelle mit dem Finger ziehen, und ich mit dem Finger entfernen, die Methode didSelect gefeuert wurde, während ein einfache Berührung funktioniert nicht ...
Ich habe bereits auf Stackoverflow Suche, ich habe nur diese topic.
Er fix sein Problem mit einem eingebetteten Tableview in einem UIViewController, aber ich habe bereits meinen Code so implementiert ...
EDIT: Ich habe den Code auf Github setzen. source code
Welches Objekt ist der Delegat und die Datenquelle der Tabellenansicht? – dlbuckley
der Delegat ist ViewController2, das gleiche für die Datenquelle. Aber es ist kein Problem mit dem TableView direkt (Es funktioniert sehr gut in einem anderen Kontext) – Geoffrey
hast du vielleicht die Methode didDEselect implementiert? Ich hatte das einmal und suchte stundenlang. – ben