6

Ho una domanda veloce che speravo che voi ragazzi poteste aiutarmi a rispondere. In questo momento ho un UIPageControl in uno storyboard che cambia un'immagine a seconda di quale punto sei, tuttavia, a partire da ora devi premere sul punto per cambiare attraverso i punti/immagini, come posso cambiare attraverso le immagini/punti facendo scorrere?Xcode: Come posso cambiare il valore di UIPageControl con il gesto di scorrimento?

Ecco il mio codice per la mia .h

#import <UIKit/UIKit.h> 

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

@end 

Ecco il mio codice per la mia .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 

Qualsiasi aiuto sarebbe molto apprezzato. Grazie

risposta

15

È possibile aggiungere UISwipeGestureRecognizer alla vista e nel metodo di selezione di UISwipeGestureRecognizer basato sull'aggiornamento della direzione dell'oggetto UIPageControl, incrementare la pagina o il decremento corrente.

È possibile fare riferimento al codice riportato di seguito. Aggiunta gesto di scorrimento per il controller della vista

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]; 

selettore Swipe gesto

- (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]]; 
} 

Aggiungere uno sbocco al UIPageControl nel file .h

@interface PageViewController : UIViewController 
@property (strong, nonatomic) IBOutlet UIImageView *dssview; 
@property (strong, nonatomic) IBOutlet UIPageControl *pageControl; 

- (IBAction)changephoto:(UIPageControl *)sender; 

@end 
+0

Impressionante, si dice quella "pagina" è un identificatore non dichiarato. E dove è opportuno aggiungere questo? Qualsiasi aiuto? –

+0

Oh scusa! dimenticato di menzionare, page è il tuo oggetto UIPageControl. –

+0

Ho modificato la mia risposta, Si prega di verificare –