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

I have a quick question I was hoping you guys could help me answer. Right now I have a UIPageControl in a storyboard which changes an image depending on what dot you are on, however, as of now you have to press on the dot to change through the dots/images, how can I change through the images/dots by swiping?

Here is my code for my .h

  • Why isn't UIProgressview progress bar resizable?
  • Tap Recognition for UIImageView in the UITableViewCell
  • Detecting touches on a UISlider?
  • Error “No known class method for selector 'Hello:'” in custom-made framework
  • Using or @selector(method)?
  • UITableView Section Index overlapping row delete button
  • #import <UIKit/UIKit.h>
    
    @interface PageViewController : UIViewController
    @property (strong, nonatomic) IBOutlet UIImageView *dssview;
    - (IBAction)changephoto:(UIPageControl *)sender;
    
    @end
    

    Here is my code for my .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];
      // Do any additional setup after loading the view.
    }
    
    - (void)didReceiveMemoryWarning
    {
      [super didReceiveMemoryWarning];
      // Dispose of any resources that can be recreated.
    }
    
    - (IBAction)changephoto:(UIPageControl *)sender {
      _dssview.image = [UIImage imageNamed:
                        [NSString stringWithFormat:@"%d.jpg",sender.currentPage+1]];
    }
    @end
    

    Any help would be greatly appreciated.
    Thanks

    Solutions Collect From Internet About “Xcode: How do I change UIPageControl value with swipe gesture?”

    You can add UISwipeGestureRecognizer to your view and in the selector method of UISwipeGestureRecognizer based on the direction update the UIPageControl object, either increment the current page or decrement.

    You can refer the below code.
    Adding swipe gesture to the 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 an outlet to the UIPageControl in the .h file

    @interface PageViewController : UIViewController
    @property (strong, nonatomic) IBOutlet UIImageView *dssview;
    @property (strong, nonatomic) IBOutlet UIPageControl *pageControl;
    
     - (IBAction)changephoto:(UIPageControl *)sender;
    
    @end