Как я могу заставить UIButton выполнять мой метод класса при касании? - PullRequest
4 голосов
/ 10 февраля 2010

Как я могу заставить UIButton выполнять мой метод класса +doSomething:(id)sender на классе MyClass после любого события, например UIControlEventTouchDown? Могу ли я использовать -addTarget:action:forControlEvents:, как я использую для методов экземпляра?

Заранее спасибо.

Ответы [ 2 ]

11 голосов
/ 10 февраля 2010

Поскольку классы также являются объектами ObjC, вы можете использовать -addTarget:... как обычно:

[button addTarget:[MyClass class]
           action:@selector(classMethod:)
 forControlEvents:UIControlEventTouchUpInside];
0 голосов
/ 10 февраля 2010

Добавьте промежуточный метод, который будет вызывать метод Class.

[button addTarget:self action:@selector(callClassMethod:) forControlEvents: UIControlEventTouchDown];

- (void)callClassMethod:(id)sender {
    [MyClass classMethod:sender];
}
...