2016-11-18 2 views
0

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

+0

Welches Objekt ist der Delegat und die Datenquelle der Tabellenansicht? – dlbuckley

+0

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

+1

hast du vielleicht die Methode didDEselect implementiert? Ich hatte das einmal und suchte stundenlang. – ben

Antwort

0

Ok Ich habe das Problem gefunden ... Es gab einen UITapGestureRecognizer in der Containeransicht. Das ist der Fehler. Thx alle.

Verwandte Themen