Reputation: 1889
In my program, I have a UIButton declared programmatically as a property of a UIVIewController
. I have set it up to send actions when the user triggers the touchUpInside
event, as shown here:
[restartButton addTarget:self action:@selector(handleRestart) forControlEvents:UIControlEventTouchUpInside];
where restartButton
is the name of the UIButton
.
When I enter UIControlEventTouchDown
in the forControlEvents
parameter, it works fine. However, UIControlEventTouchUpInside
simply does not work. Does anybody know why this is?
Upvotes: 3
Views: 3988
Reputation: 1076
Checkout this question and answer: https://stackoverflow.com/a/11667958/607730. The parent view had a UITapGestureReconizer on it that was intercepting the TouchUpInside event but allowing the touch down even through.
Upvotes: 4
Reputation: 2721
You may want to check the restartButton.bounds
. You may simply have it set to a size of zero causing UIControlEventTouchUpInside
never to occur. Best way of checking for it is to add borders to layer.
[restartButton.layer setBorderWidth:1.0f];
[restartButton.layer setBorderColor:[UIColor redColor].CGColor];
Don't forget to #import <QuartzCore/QuartzCore.h>
for above to work
Upvotes: 3