0

タッチの検出にカスタムUIImageviewを使用していますか?しかし、私はその特定のイメージビューのタッチを検出できません。

-(void)viewDidLoad {
  [super viewDidLoad];
  mainView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 200)];
  image = [[UIImageView alloc] initWithFrame:CGRectMake(10, 300, 100, 100)];
  image.image = [UIImage imageNamed:@"CyanSquare.png"];
  image2 = [[UIImageView alloc] initWithFrame:CGRectMake(150, 600, 100, 100)];
  image2.image = [UIImage imageNamed:@"CyanSquare.png"];
  image.tag = 1;
  image2.tag = 2;
  [self.mainView addSubview:image];
  [self.mainView addSubview:image2];
  [self.view addSubview:mainView];
}

-(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {

   UITouch *touch = [[event allTouches] anyObject];
   [super touchesBegan:touches withEvent:event];
   if ([touch view] == [image viewWithTag:1]) {
    NSLog(@"touch  beggin 1");
    mainView.image = [UIImage imageNamed:@"VideoBkGround.png"];
   }
   if ([touch view] == [image2 viewWithTag:2])
    {
    NSLog(@"touch  beggin 2");
    mainView.image = [UIImage imageNamed:@"VideoRunning.png"];
   }
 }

このコードでは、タッチが検出されませんか?plsは私を助けますか?

カスタムビューがない場合は検出されます。

4

1 に答える 1

1

対話するUIImageViewのユーザー対話を有効にする必要があります。

@property(nonatomic, getter=isUserInteractionEnabled) BOOL userInteractionEnabled

そんな感じ:

image.userInteractionEnabled = YES; 
image2.userInteractionEnabled = YES;

そうしないと、画像がタッチされません...

于 2012-10-15T12:45:37.517 に答える