How can I make a UIButton perform my class method when tapped?
-
19-09-2019 - |
Question
How can I make a UIButton perform my class method, +doSomething:(id)sender
, on class MyClass
, after any event like UIControlEventTouchDown
? Can I use -addTarget:action:forControlEvents:
like I do for instance methods?
Thanks in advance.
Solution
Since classes are also ObjC objects, you can use -addTarget:...
as usual:
[button addTarget:[MyClass class]
action:@selector(classMethod:)
forControlEvents:UIControlEventTouchUpInside];
OTHER TIPS
Add an in-between method that will call the Class method.
[button addTarget:self action:@selector(callClassMethod:) forControlEvents: UIControlEventTouchDown];
- (void)callClassMethod:(id)sender {
[MyClass classMethod:sender];
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow