objective c - How can a UIViewController inside a UIPageController get touch events? -


it seems button doesn't pressed.

i tried:

uipageviewcontroller gesture recognizers

however, here catch

if page transition of uipageviewcontroller uipageviewcontrollertransitionstylescroll then

self.view.gesturerecognizers = self.pageviewcontroller.gesturerecognizers; nslog(@"%@",self.pageviewcontroller.gesturerecognizers.description); nslog(@"%@",self.pageviewcontroller.gesturerecognizers.description); 

will empty.

i tried adding own gesturerecoqnizers instead of button uiviewcontrollers's subview. still doesn't work.

so have uipageviewcontroller display uiviewcontroller view has button. how button pressed?

i tried both solutions here:

http://emlyn.net/posts/stopping-gesture-recognizers-in-their-tracks

none works. first of cannot disable gesture recoqnizers of uipageviewcontroller because there no such thing. in scrollview mode, uipageviewcontroller doesn't have gesture recoqnizers.

i tried add own gesture recoqnizers own button never called.

i want uipageviewcontroller still handle swipe though. not tap.

i can't access gesture recoqnizers of uipageviewcontrollers because self.pageviewcontroller.gesturerecognizers empty. uipageviewcontroller seems "absorb" tap events. button doesn't it.

i can add button in front of uipageviewcontroller button absorb swiping action want uipageviewcontroller still handle.

by way if uses template ios (create page based app, , change transition scroll pageviewcontroller.gesturerecoqnizers empty

- (void)viewdidload {     [super viewdidload];     // additional setup after loading view, typically nib.     // configure page view controller , add child view controller.     self.pageviewcontroller = [[uipageviewcontroller alloc] initwithtransitionstyle:uipageviewcontrollertransitionstylescroll navigationorientation:uipageviewcontrollernavigationorientationhorizontal options:nil];//turn 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 page view controller's bounds using inset rect self's view visible around edges of 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 page view controller's gesture recognizers book view controller's view gestures started more easily.     self.view.gesturerecognizers = self.pageviewcontroller.gesturerecognizers;     nslog(@"%@",self.pageviewcontroller.gesturerecognizers.description); //this empty     while (false); } 

maybe can set custom gesture recognizer in uipageviewcontroller. way, able filter through uitouch events, implementing in gesture recognizer delegate (the 1 uipageviewcontroller) :

- (bool)gesturerecognizer:(uigesturerecognizer *)gesture shouldreceivetouch:(uitouch *)touch {              if (touch.tapcount > 1) { // ignore touch less 2 finger         return yes;    }    return no; } 

this, tell uipageviewcontroller gesturerecognizer not care touch 1 finger. you'll have try it, think might trick. problem here have ask user two-finger swipe...

check here other answer


Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

How to get multiresult with multicondition in Sql Server -