UIButton addTarget: self ... вызывает ошибку "Не распознает селектор" - PullRequest
1 голос
/ 27 мая 2011

Я инициализировал свой UIButton-производный следующим образом:

Button * it = [[Button alloc] initWithFrame:CGRectMake(x, y, image.size.width, image.size.height)];

Затем я делаю следующее:

[(UIButton *)self addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
[view addSubview:self];

Первая строка вызывает ошибку «Не распознает селектор».

Кнопка выбораЩелкнуто: выглядит так:

-(IBAction) buttonClicked:(id)sender { 
    if (action) action();
    else NSLog(@"Clicked.\n");
} 

Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 27 мая 2011

Добавьте действие с помощью:

[it       addTarget:self 
             action:@selector(buttonClicked:) 
   forControlEvents:UIControlEventTouchUpInside];

, а затем добавьте кнопку с помощью

[view addSubview:it];

И не создавайте кнопки UIB с помощью init ... используйте метод класса + buttonWithType:.

Будьте осторожны с подклассом UIButton, я не уверен, действительно ли вы этого хотите.Взгляните на создать подкласс uibutton .

0 голосов
/ 27 мая 2011

Вы создаете кнопки с +(id)buttonWithType:(UIButtonType)buttonType

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...