How to make UIButton work like Launcher in SpringBoard, when pressed for long timeinterval
Posted
by KayKay
on Stack Overflow
See other posts from Stack Overflow
or by KayKay
Published on 2010-06-03T12:20:59Z
Indexed on
2010/06/03
12:24 UTC
Read the original article
Hit count: 351
In my ViewController I am using UIButton which triggers some action when touchedUpInside. Upto here no problem, but i also want to add another action for touchDown event. More precisely i dont have an idea how to add that action to which event, that will work the same as when App-Icon is pressed longer in springboard which causes springboard enter in editing mode.Actually what i want is : when this button is kept holding for ,say about 2 seconds it will pop-up an alertView without touch being heldUp (with finger is still on button).
I have tried with 2 NSdate difference, one of which is allocated when touchedDown and other when touchUpInside. Its working and popping alert,but only after touchedUpInside. I want it to show alert without touch being removed. Here is the code.
(IBAction)touchedDown:(id)sender {
momentTouchedDown = [[NSDate alloc] init];//class variable
NSLog(@"touched down");
}
- (IBAction)touchUpInside:(id)sender {
NSLog(@"touch lifted Up\n");
NSDate *momentLifted = [[NSDate alloc] init];
double timeInterval = [momentLifted timeIntervalSinceDate:momentTouchedDown];
NSLog(@"time lifted = %@, time down = %@, time diff = %@", momentLifted, momentTouchedDown, [NSString stringWithFormat:@"%g",timeInterval]);
[momentLifted release];
if(timeInterval > 2.0) {
NSLog(@"AlertBox has been fired");
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Yes"
message:@""//msg
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"OK"
, nil];
[alert show];
[alert release];
}
}
Please provide me an insight..thanks for help in advance.
© Stack Overflow or respective owner