2012-05-03 13 views
0

私は問題に直面していますUITouch。私はそれが理由で起こっていない理由はありません。ここでタッチが検出されませんか?

はコードです:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    UITouch *touch = [touches anyObject]; 
    if([touch view] == self.transView) 
    { 
     NSLog(@"Began"); 
     CGPoint startLocation = [touch locationInView:transView]; 
     startX = startLocation.x; 
     startY = startLocation.y; 
    } 
} 

私はサブビューのタッチを検出しています。サブビューとして別のクラスのViewを追加しました。このクラスには、背景にUIImageViewが含まれています。例えば、

UIImageView *BGImageView=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"graphBG.png"]]; 
[BGImageView setContentMode:UIViewContentModeScaleAspectFill]; 
[BGImageView setFrame:CGRectMake(25, 365, 723, 390)]; 
[BGImageView setUserInteractionEnabled:YES]; 
[self.view sendSubviewToBack:BGImageView]; 
[self.view addSubview:BGImageView]; 
//[BGImageView release]; 
myGraph=[[MyGraphControllerView alloc]init]; 
myGraph.dataForPlot= [[NSMutableArray alloc]init]; 
for (int i=0; i<[hoursArry count]; i++) 
{ 
    NSMutableDictionary *dataDict=[[NSMutableDictionary alloc]init]; 
    [dataDict setObject:[dayArray objectAtIndex:i] forKey:@"x"]; 
    [dataDict setObject:[HoursArray objectAtIndex:i] forKey:@"y"]; 
    [myGraph.dataForPlot addObject:dataDict]; 
    [dataDict release]; 
} 
[myGraph.view setFrame:CGRectMake(25, 380, 723, 390)]; 
//[myGraph.view setBackgroundColor:[UIColor redColor]]; 
[self.view addSubview:myGraph.view]; 
} 

すでにGraphViewにサブビューを追加しましたが、機能しませんでした。

私を助けてください。

答えて

0

確認するべき点:なぜUIImageViewでユーザー対話を有効にしていますか? それを無効に設定すると、その下のビューがタッチのレスポンダになるようになります。ちょうど私がちょうどあなたの3行のコード&を読むようにうまくいけば、ここからはっきりしないかもしれない他の問題があるかもしれません。

0
//add gesture to mapview-for single touch 
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(SLideTheView:)]; 
[touchableView addGestureRecognizer:tap]; 
tap.numberOfTapsRequired = 1; 

私はタッチが検出される必要があるビューのジェスチャーに行くことをお勧めします。

0

self.transViewという名前のビューに触れているかどうかを確認しています

関連する問題