/ / iOS5 prejdením prstom prepínate obrázky - požadovaná pomoc - xcode, uiview, uiimageview, uigesturerecognizer

iOS5 Presunúť gesto na prepnutie obrázkov - vyžiadaná pomoc - xcode, uiview, uiimageview, uigesturerecognizer

Mám množstvo obrázkov, ktoré by som rád vytlačilpomocou gest (tam a späť). Viem, že PageViewController je na to ideálny, ale nemôžem prísť na to, ako to použiť v existujúcom projekte, ktorý používa NIB.

Takže Snažím sa vytvoriť animáciu UIView. Vidím prvý obrázok, ale gestá nefungujú ..

Ocenil by som každú pomoc ..

Tu je kód jednej z dvoch rutín plus gesto init:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
NSLog(@"%s", __FUNCTION__);
return YES;
}


- (void)handleSwipe:(UISwipeGestureRecognizer *)recognizer {

NSLog(@"%s", __FUNCTION__);
switch (recognizer.direction)
{
case (UISwipeGestureRecognizerDirectionRight):
[self performSelector:@selector(previousPage:)];
//[self previousPage];
break;

case (UISwipeGestureRecognizerDirectionLeft):
[self performSelector:@selector(nextPage:)];
//[self nextPage];
break;

default:
break;
}
}



- (void)nextPage {
[UIView beginAnimations:@"fadeOut" context:nil];
[UIView setAnimationDelay:0.0f];
[UIView setAnimationDuration:0.5f];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
pageNumber ++;
if(pageNumber > maxInfoPages)
{
pageNumber = 1;
}
NSString *imageName = [NSString stringWithFormat:@"infoPage%i.png", pageNumber];
imageView.image = [UIImage imageNamed:imageName];
NSLog(@"imageName is: %@", imageName);
NSLog(@"imageView is: %@", imageView);
imageView.clipsToBounds=YES;
self.view = imageView;
[UIView commitAnimations];
}

Veľká vďaka

odpovede:

0 pre odpoveď č. 1

Ak si v skutočnosti nenastavíteUIGestureRecognizers a pridajte ich do svojho zobrazenia, nebudete dostávať žiadne udalosti odosielané do vášho viewController. Musíte teda pripojiť UIGestureRecognizers k zobrazeniu, ktoré zachytí prejdenie prstom. Napríklad vo svojej metóde viewDidLoad by ste robili niečo v tomto duchu:

UISwipeGestureRecognizer *rightSwipe=[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipe:)];
rightSwipe.direction=UISwipeGestureRecognizerDirectionRight;

UISwipeGestureRecognizer *leftSwipe=[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipe:)];
leftSwipe.direction=UISwipeGestureRecognizerDirectionLeft;

[self.view addGestureRecognizer:leftSwipe];
[self.view addGestureRecognizer:rightSwipe];

// leave out the following if using ARC
[leftSwipe release];
[rightSwipe release];

Veľa štastia!


0 pre odpoveď č. 2

Nakoniec som vypol svoj pôvodný kód pre kód PageViewController. Ukážky z tejto knihy pochádzajú z novej knihy Erica Sadun: „Cookbook pre vývojárov iOS5“ .. Kniha bude uverejnené 14. novembra ale vzorky kódu sú k dispozícii predplatiteľom ..