6

Mam krótkie pytanie, mam nadzieję, że możesz mi pomóc odpowiedzieć. Teraz mam UIPageControl w storybooku, który zmienia obraz w zależności od tego, na którym punkcie się znajdujesz, jednak od teraz musisz nacisnąć kropkę, aby zmienić kropki/obrazy, jak mogę zmienić obrazy/kropki przesuwając?Xcode: Jak zmienić wartość UIPageControl za pomocą gestu przeciągnięcia?

Oto mój kod dla mojego ncurses.h

#import <UIKit/UIKit.h> 

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

@end 

Oto mój kod dla mojego .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 

Każda pomoc będzie mile widziana. Dzięki

Odpowiedz

15

Możesz dodać UISwipeGestureRecognizer do widoku i w wyborze metody UISwipeGestureRecognizer na podstawie aktualizacji kierunku obiektu UIPageControl, albo zwiększać bieżącą stronę lub dekrementacji.

Możesz odnieść się do poniższego kodu. Dodawanie gest machnięcia do kontrolera widoku

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

selektor gest bezstykowa

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

Dodaj wylot do UIPageControl w pliku .h

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

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

@end 
+0

Awesome, to mówi ta "strona" jest niezadeklarowanym identyfikatorem. I gdzie jest właściwe, aby to dodać? Jakaś pomoc? –

+0

Oh sorry! zapomniałem wspomnieć, strona to twój obiekt UIPageControl. –

+0

Edytowałem swoją odpowiedź, proszę sprawdzić –

Powiązane problemy