Действие для динамически создаваемого UIButton внутри UITextView - PullRequest
1 голос
/ 02 июня 2010

У меня есть вид прокрутки; внутри я добавляю один или несколько видов текста; к каждому текстовому просмотру добавляю кнопку:

UIScrollView
   UITexView
      UIButton
   UITextView
      UIButton
   ...

Это часть кода:


- (void)viewDidLoad {
   ...
   [self loadUI];
   ...
}

-(void) loadUI {
   UITextView *textView;
   ...
   for (...) {
      UIButton *editButton = [[UIButton alloc] initWithFrame:
CGRectMake(self.scrollView.frame.size.width - 230, 0, 50, 20)];
      ...
      [editButton addTarget:self action:@selector(editPressed:) 
forControlEvents:UIControlEventTouchUpInside];
      ...
      textView = [[CustomTextView alloc] initWithFrame:
CGRectMake(10, dynamicHeight, self.queuedView.frame.size.width - 100, 500)];
      textView.userInteractionEnabled = NO;
      ...
      [textView addSubview:editButton];
      [editButton release];
      ...
      [self.scrollView addSubview:textView];
      [textView release];
   }
}

- (IBAction) editPressed:(id)sender {
   ...
}

По какой-то причине метод editPressed не вызывается, когда я нажимаю кнопку. Есть идеи почему? Я попытался установить взаимодействие, включенное для текстового представления, к ДА, но все еще ничего. Я изменил форму (IBAction) на (void), но все равно ничего.

Спасибо, Михай

Ответы [ 2 ]

0 голосов
/ 16 апреля 2015

Попробуйте добавить кнопку в правый вид текстового поля

до textField.rightView = editButton вместо [textView addSubview:editButton];

0 голосов
/ 03 июня 2010

Очевидно, textView.userInteractionEnabled = YES; сделал свое дело. Я пробовал это раньше, но это не сработало. Может быть, я должен был сделать чистую сборку после изменения.

...