2016-12-21 5 views
1

Существует подкласс UIButton, можно ли добавить цель для кнопки с помощью самой кнопки? НапримерUIButton addTarget: действие: forControlEvents: не работает, используя себя как цель?

+0

я просто меняет один думаю, что это [YOURBUTTON addTarget: само действие: @selector (имяМетода: событие :) forControlEvents: UIControlEventTouchDown]; –

+0

Я хочу добавить целевую внутреннюю часть кнопки класса, а не надстройка кнопки. Я добавляю цель для кнопки в своем супервизоре (как сказано), это сработало. – John

+0

когда вы называете addTarget? на init? – Joshua

ответ

0

Его не работает bcoz вы добавляете себя в качестве мишени. Вы должны добавить свой ViewController в качестве цели, на которой вы добавили кнопку.

[self addTarget:viewController action:@selector(onClick:forEvent:) forControlEvents:UIControlEventTouchUpInside]; 
+0

Thx за помощь, но почему использование self не работает? – John

+0

Мы не можем добавить кнопку в качестве цели. Это всегда требует, чтобы его супервизор стал целью, для которой кнопка будет выполнять действие. –

+0

Ваш ответ и мои результаты теста одинаковы, хотя и не знают причины, но, конечно, не могут использовать «я», и цель должна быть uiview или его подклассы, а uiview также должен быть надписью кнопки, если есть соответствующая справочная информация, еще более благодарна! – John

0

Да, просто изменить:

к этому:

[MyButton addTarget:self action:@selector(onClick:forEvent:) forControlEvents:UIControlEventTouchUpInside]; 
+0

Thx, я знал, где была моя проблема, ваш ответ не был моим ожидаемым ответом. Почему [self addTarget: само действие: ...... незаконно? – John

Смежные вопросы