Es scheint, dass die Taste nicht gedrückt wird.Wie kann ein UIViewController in einem UIPageController Berührungsereignisse erhalten?
Ich habe versucht:
UIPageViewController Gesture recognizers
jedoch hier der Haken ist
wenn Seitenübergang von UIPageViewController ist UIPageViewControllerTransitionStyleScroll dann
self.view.gestureRecognizers = self.pageViewController.gestureRecognizers;
NSLog(@"%@",self.pageViewController.gestureRecognizers.description);
NSLog(@"%@",self.pageViewController.gestureRecognizers.description);
einfach leer sein.
Ich hat versucht, meinen eigenen gestureRecoqnizers statt Taste in die Subview des UIViewControllers Zugabe. Es funktioniert immer noch nicht.
So habe ich eine UIPageViewController, die eine UIViewController, deren Ansicht angezeigt wird einige Tasten hat. Wie bekomme ich diesen Knopf gedrückt?
Ich habe auch versucht, beide Lösungen hier:
http://emlyn.net/posts/stopping-gesture-recognizers-in-their-tracks
Keine funktioniert. Zuallererst kann ich Gestenerkenner des UIPageViewControllers nicht deaktivieren, weil es so etwas nicht gibt. Im ScrollView-Modus verfügt UIPageViewController nicht über Gestenerkenner.
Ich versuchte, meine eigene Geste recoqnizers meine eigene Taste hinzufügen, aber diese werden nie genannt.
Ich möchte, dass der UIPageViewController immer noch Swipe handhaben. Aber nicht tippen.
Ich kann die Geste recoqnizers von UIPageViewControllers zugreifen, da self.pageViewController.gestureRecognizers leer. Der UIPageViewController scheint alle Tap-Ereignisse zu "absorbieren". Also mein Knopf versteht es nicht.
Ich kann Button vor UIPageViewController hinzufügen, aber die Schaltfläche wird die Durchzugs Aktion aufnehmen, die ich UIPageVIewController wollen Griff noch.
Durch die Art und Weise, wenn wir die Vorlage von IOS (Erstellen Sie eine Seite basierte Anwendung, und ändern Sie den Übergang der pageviewcontroller.gesturerecoqnizers wird blättern verwendet
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// Configure the page view controller and add it as a child view controller.
self.pageViewController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil];//Turn this to scroll view
self.pageViewController.delegate = self;
SDDataViewController *startingViewController = [self.modelController viewControllerAtIndex:0 storyboard:self.storyboard];
NSArray *viewControllers = @[startingViewController];
[self.pageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:NULL];
self.pageViewController.dataSource = self.modelController;
[self addChildViewController:self.pageViewController];
[self.view addSubview:self.pageViewController.view];
// Set the page view controller's bounds using an inset rect so that self's view is visible around the edges of the pages.
CGRect pageViewRect = self.view.bounds;
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
pageViewRect = CGRectInset(pageViewRect, 40.0, 40.0);
}
self.pageViewController.view.frame = pageViewRect;
[self.pageViewController didMoveToParentViewController:self];
// Add the page view controller's gesture recognizers to the book view controller's view so that the gestures are started more easily.
self.view.gestureRecognizers = self.pageViewController.gestureRecognizers;
NSLog(@"%@",self.pageViewController.gestureRecognizers.description); //This is empty
while (false);
}
Ist die Schaltfläche, um ein Ziel und Wirkung hat? – Wain
natürlich. Ich habe das richtig verstanden. Es funktioniert gut, wenn nicht in UIPageViewController. –
Warum also die Gestenerkennung? Und haben Sie Ihren Controller als Delegat festgelegt und überprüft, ob die Delegate-Methoden aufgerufen wurden? – Wain