Я знаю, что этот вопрос задавался много раз, но я не нашел решения для своей проблемы. Я не новичок в iOS, и это должно быть довольно тривиально, но это сводит меня с ума и безумие :). Ok У меня есть класс C, который является подклассом UIViewController. В его зрения есть UIScrollView и в этой точке зрения прокрутки я ставлю класс В и А также подклассы UIViewController, и я делаю это так:Селектор UIButton не звонил, независимо от того, что я делаю
a = [[A alloc] initWithNibName:@"A" bundle:nil];
[a setDelegate:self];
[self addChildViewController:a];
[a.view setFrame:CGRectMake(2*vwMainScroller.frame.size.width, 0, a.view.frame.size.width, a.view.frame.size.height)];
[vwMainScroller addSubview:a.view];
b = [[B alloc] initWithNibName:@"B" bundle:nil];
[b setDelegate:self];
[self addChildViewController:b];
[b.view setFrame:CGRectMake(vwMainScroller.frame.size.width, 0, b.view.frame.size.width, speedScreen.view.frame.size.height)];
[vwMainScroller addSubview:b.view];
Оба класса А и класса B имеют кнопки на их мнения добавлены программно в viewDidLoad метод как это:
- (void)viewDidLoad
{
[super viewDidLoad];
UIButton *btnChangeColor = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 200, 460)];
[btnChangeColor addTarget:self action:@selector(Btn) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btnChangeColor];
}
-(void)Btn
{
NSLog(@"I am the selector and I have been called");
}
но когда я нажимаю кнопку класса а селектор никогда не вызывается, но когда я нажимаю кнопку класса B селектор называется так же, как это должно быть. Я пробовал:
- положить кнопки на xibs
- Обеспечение взаимодействия пользователя для каждого представления в моем коде - это был уже включен -> не помогло
- кнопки рисования, чтобы увидеть, если они находятся там, где они должны быть -> они были
- перезагружать компьютер и Xcode
- работает на устройстве и симулятором
Ничто не помогло , всегда одно и то же, кнопка работает на классе B, но не на классе A, после того как я попытался добавить некоторые другие кнопки в IB класса A, после того как узнал, что они также не называют их селекторами, я проверил поле «Показывает» затрагивает подсветку "и угадывает, что, они не светились, когда я коснулся их. Поэтому, пожалуйста, я вижу, что что-то ест мои события касания, но просто не имеет никаких идей, как действовать при отладке этого вопроса. Пожалуйста, помогите мне:) ...
Возможно, некоторые или все рамки кнопки находятся вне рамки родителя. – Anna
Вы уверены, что кнопки не 'nil' в' viewDidLoad'? Это первое, что вы должны проверить. – Sulthan