addTarget не работает для кнопок UIB в iOS, вид закрыт - PullRequest
2 голосов
/ 05 января 2012

У меня есть две кнопки UIB, которые я создаю программно и устанавливаю цели. Если я добавлю эти кнопки на главном экране, все работает прекрасно. Однако когда я сначала добавляю к подпредставлению и добавляю это подпредставление к основному виду, сенсорные события не работают. Я предполагаю, что эти кнопки скрыты.

Как мне открыть эти кнопки, сохраняя их внутри подпредставления?

Вот мой код:

// Create button panel here
UIImage *buttonPanel = [UIImage imageNamed:@"left_button_background"];
UIImageView *buttonPanelView = [[UIImageView alloc] initWithImage:buttonPanel];
[buttonPanelView setFrame:CGRectMake(20, 186, 363, 345)];

// Populate the panel with buttons
UIButton *cmsButton = [[UIButton alloc] initWithFrame:CGRectMake(10, 10, 351, 142)];
[cmsButton setImage:[UIImage imageNamed:@"BTN_MATLIB"] forState:UIControlStateNormal];
[cmsButton addTarget:self action:@selector(loadCMS) forControlEvents:UIControlEventTouchDown];
[buttonPanelView addSubview:cmsButton];
[self setCms:cmsButton];

UIButton *calcButton = [[UIButton alloc] initWithFrame:CGRectMake(10, 196, 351, 142)];
[calcButton setImage:[UIImage imageNamed:@"BTN_MORE_RESOURCES"] forState:UIControlStateNormal];
[calcButton addTarget:self action:@selector(loadCalc) forControlEvents:UIControlEventTouchDown];
[buttonPanelView addSubview:calcButton];
[self setCalc:calc];

[[self view] addSubview:buttonPanelView];

1 Ответ

12 голосов
/ 05 января 2012

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

buttonPanelView.userInteractionEnabled = YES;
...