как я могу обнаружить пользовательское событие касания UIImageView?

я использую пользовательский 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"];
   }
 }

В этом коде я не обнаруживаю касание? Пожалуйста, помогите мне?

без пользовательского представления это обнаружено.


person sreenivas    schedule 15.10.2012    source источник
comment
вы используете собственный UIImageView, но он унаследован/подкласс исходного UIImageView?   -  person The iOSDev    schedule 15.10.2012
comment
Я не понимаю, о чем здесь этот тег ... почему бы просто не проверить изображение и изображение2?   -  person Eiko    schedule 15.10.2012
comment
я добавляю 2 UIImageview (они настраиваются не в .XIB) в другой ImageView. Это изображение добавляется к основному виду, например: [self.view addSubView:imageView];   -  person sreenivas    schedule 15.10.2012
comment
Привет, Волворин, как унаследовать/подкласс оригинального UIImageView?   -  person sreenivas    schedule 15.10.2012


Ответы (1)


Вам необходимо включить взаимодействие с пользователем для UIImageViews, с которыми вы хотите взаимодействовать.

@property(nonatomic, getter=isUserInteractionEnabled) BOOL userInteractionEnabled

что-то подобное:

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

иначе изображения не получат прикосновения...

person Ariel    schedule 15.10.2012