2009-12-10 5 views
0

У меня есть изображениеView, и после того, как я добавлю его на экран, я его выпустил. До этого я добавляю на него кнопку с этим кодом.Не вызывать функцию, когда я нажимаю на UIButton?

  button = [[UIButton buttonWithType:UIButtonTypeCustom] retain]; 
      button.frame = CGRectMake(128.00, 128.00, 23.00, 40.00); 
      [button setBackgroundImage:[UIImage imageNamed:@"move.png"] forState:UIControlStateNormal]; 
      [button addTarget:self action:@selector(showAddress:) forControlEvents:UIControlEventTouchUpInside]; 
      [imageView addSubview:button]; 

      - (void) showAddress:(id)sender 
      { 
       NSLog(@"Working"); 
      } 

Эта кнопка появляется, но ничего не происходит, когда я нажимаю на нее, чтобы вызвать функцию. Даже нажатие на нажатие. Это потому, что я выпускаю imageView?

ответ

1

Отредактировано: Проверьте userInteractionEnabled свойства вашего UIImageView установлено в YES - он установлен в NO по умолчанию, и поэтому UIImageView (и его подвиды) не реагируют на событие нажатия. Я только что установил его в YES в моем коде, и он отлично работает.

Еще одно примечание - при добавлении кнопки в другой вид она переходит в собственность кнопки, и, поскольку вы сохранили ее в своем коде, вы также должны ее отпустить. (Или просто не сохранить в этом случае)

+0

Хорошо, босс, это сработало. Я удалил imageView.userInteractionEnabled = YES из - viewDidLoad и поместил его в код перед тем, как добавить ImageViews в scrollView. Спасибо, настоящий спасатель, :) – wolverine