2011-07-07 87 views
0

我有五個圖像,它們被命名爲1.JPG 2.JPG 3.JPG 4.JPG 5.JPG,當我的iPad的手指在屏幕上移動(從右到左)的UIImageView會從顯示的1.JPG圖像5.JPG,並從1.JPG到5.JPG再次循環,直到我的手指touchEnd,如果我的手指從左向右移動時,將UIImageView的顯示從5.JPG的圖像1.jpg,循環也。 我使用下面的代碼有關touchmoved功能

int currentTag = 1; 
NSArray* pages; 

-(void)viewDidLoad{ 
    [super viewDidLoad]; 

    UISwipeGestureRecognizer *recognizer; 

recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)]; 
[recognizer setDirection:(UISwipeGestureRecognizerDirectionRight)]; 
[[self view] addGestureRecognizer:recognizer]; 
[recognizer release]; 

recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)]; 
[recognizer setDirection:(UISwipeGestureRecognizerDirectionLeft)]; 
[[self view] addGestureRecognizer:recognizer]; 
[recognizer release]; 

pages=[[NSArray alloc] initWithObjects:@"1.jpg",@"2.jpg",@"3.jpg",@"4.jpg",@"5.jpg",nil]; 
} 

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

if (recognizer.direction==UISwipeGestureRecognizerDirectionLeft) 
    { 
    if (currentTag<[pages count]) { 
        [imgview setImage:[UIImage imageNamed:[pages objectAtIndex:currentTag]]]; 
        [imgview setUserInteractionEnabled:YES]; 
        imgview.tag=currentTag; 
        currentTag++; 
      } 
    } 
    } 

但它不能工作。那麼什麼是正確的方法呢?謝謝

回答

0

看來你是將guestureRecognizer添加到UIImageView的superView中,但是你也在使用它[imgview setUserInteractionEnabled:YES] ;.評論這一行,你的代碼應該工作。因爲當你設置[imgview setUserInteractionEnabled:YES];那麼所有的接觸將通過UIImageView的處理,我以爲你的ImageView大小等於視圖的大小。

+0

謝謝你,旁邊還有兩個誤區,首先它不能循環,二是將UIImageView的播放動畫形象當我纏綿動人,直到停止的UIImageView戲時,我停止移動和touching.thanks – matt