objective c - Xcode: How do I change UIPageControl value with swipe gesture? -


i have quick question hoping guys me answer. right have uipagecontrol in storyboard changes image depending on dot on, however, of have press on dot change through dots/images, how can change through images/dots swiping?

here code .h

#import <uikit/uikit.h>  @interface pageviewcontroller : uiviewcontroller @property (strong, nonatomic) iboutlet uiimageview *dssview; - (ibaction)changephoto:(uipagecontrol *)sender;  @end 

here code .m

#import "pageviewcontroller.h"  @interface pageviewcontroller () @end  @implementation pageviewcontroller  - (id)initwithnibname:(nsstring *)nibnameornil bundle:(nsbundle *)nibbundleornil {   self = [super initwithnibname:nibnameornil bundle:nibbundleornil];   if (self) {     // custom initialization   }   return self; }  - (void)viewdidload {   [super viewdidload];   // additional setup after loading view. }  - (void)didreceivememorywarning {   [super didreceivememorywarning];   // dispose of resources can recreated. }  - (ibaction)changephoto:(uipagecontrol *)sender {   _dssview.image = [uiimage imagenamed:                     [nsstring stringwithformat:@"%d.jpg",sender.currentpage+1]]; } @end 

any appreciated. thanks

you can add uiswipegesturerecognizer view , in selector method of uiswipegesturerecognizer based on direction update uipagecontrol object, either increment current page or decrement.

you can refer below code. adding swipe gesture view controller

uiswipegesturerecognizer *swipeleft = [[uiswipegesturerecognizer alloc] initwithtarget:self action:@selector(swipe:)]; swipeleft.direction = uiswipegesturerecognizerdirectionleft; [self.view addgesturerecognizer:swipeleft];  uiswipegesturerecognizer *swiperight = [[uiswipegesturerecognizer alloc] initwithtarget:self action:@selector(swipe:)]; swiperight.direction = uiswipegesturerecognizerdirectionright; [self.view addgesturerecognizer:swiperight]; 

swipe gesture selector

- (void)swipe:(uiswipegesturerecognizer *)swiperecogniser {     if ([swiperecogniser direction] == uiswipegesturerecognizerdirectionleft)     {          self.pagecontrol.currentpage -=1;     }     else if ([swiperecogniser direction] == uiswipegesturerecognizerdirectionright)     {          self.pagecontrol.currentpage +=1;     }     _dssview.image = [uiimage imagenamed:                 [nsstring stringwithformat:@"%d.jpg",self.pagecontrol.currentpage]]; } 

add outlet uipagecontrol in .h file

@interface pageviewcontroller : uiviewcontroller @property (strong, nonatomic) iboutlet uiimageview *dssview; @property (strong, nonatomic) iboutlet uipagecontrol *pagecontrol;   - (ibaction)changephoto:(uipagecontrol *)sender;  @end 

Comments