Guten Abend miteinander!
Ich habe 3 verschiedene Views, welche alle die Grösse des iPhone-Bildschirms haben: View1, View2, View3
Jede dieser View hat einen Button drin, mit welchem ich die die anderen Views aufrufen kann.
z.B. view1 hat eine Buttonaction, mit welcher ich View3 anzeigen kann ([self.view addSubview:view3];)
Nun möchte ich einen AlertView anzeigen wenn man irgendwo in meine zweite View (View2) klickt. Mit meinem Code kann man aber in jeder View
klicken und es erscheint der alertView!
Meine Frage ist nun, wie kann ich touchesBegan / Ended so eingrenzen, dass der alertView nur kommt wenn ich in View2 klicke? Muss ich locationInView:View2 nehmen, was bei mir nicht funktioniert hat?
Oder kann ich irgendwie überprüfen welche View ich gerade im Vordergrund habe? Welche View gerade angezeigt wird?
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch =[touches anyObject];
CGPoint startPoint =[touch locationInView:self.view]; //Hier locationInView:View2 oder so etwas?
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent*)event
{
UITouch *touch = [touches anyObject];
CGPoint lastTouch = [touch locationInView:self.view]; //Hier dann natürlich auch.
CGFloat deltaX = fabsf(startPoint.x - lastTouch.x);
CGFloat deltaY = fabsf(startPoint.y - lastTouch.y);
if (deltaX <= 5 && deltaY <= 5) {
UIAlertView *winnerAlert = [[UIAlertView alloc]
initWithTitle:@"Test"
message:@"Achtung Alert"
cancelButtonTitle:@"Zurück"
otherButtonTitles:@"Weiter", @"Hauptmenü",nil];
[winnerAlert show];
[winnerAlert release];
}
}
Ich hoffe, ich kriege hier ein bisschen Hilfe. In anderen Foren wurde meine Frage nicht erhört.
Vielen Dank im voraus für eure Hilfe.
Freundliche Grüsse
Franhu
Ich habe 3 verschiedene Views, welche alle die Grösse des iPhone-Bildschirms haben: View1, View2, View3
Jede dieser View hat einen Button drin, mit welchem ich die die anderen Views aufrufen kann.
z.B. view1 hat eine Buttonaction, mit welcher ich View3 anzeigen kann ([self.view addSubview:view3];)
Nun möchte ich einen AlertView anzeigen wenn man irgendwo in meine zweite View (View2) klickt. Mit meinem Code kann man aber in jeder View
klicken und es erscheint der alertView!
Meine Frage ist nun, wie kann ich touchesBegan / Ended so eingrenzen, dass der alertView nur kommt wenn ich in View2 klicke? Muss ich locationInView:View2 nehmen, was bei mir nicht funktioniert hat?
Oder kann ich irgendwie überprüfen welche View ich gerade im Vordergrund habe? Welche View gerade angezeigt wird?
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch =[touches anyObject];
CGPoint startPoint =[touch locationInView:self.view]; //Hier locationInView:View2 oder so etwas?
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent*)event
{
UITouch *touch = [touches anyObject];
CGPoint lastTouch = [touch locationInView:self.view]; //Hier dann natürlich auch.
CGFloat deltaX = fabsf(startPoint.x - lastTouch.x);
CGFloat deltaY = fabsf(startPoint.y - lastTouch.y);
if (deltaX <= 5 && deltaY <= 5) {
UIAlertView *winnerAlert = [[UIAlertView alloc]
initWithTitle:@"Test"
message:@"Achtung Alert"
cancelButtonTitle:@"Zurück"
otherButtonTitles:@"Weiter", @"Hauptmenü",nil];
[winnerAlert show];
[winnerAlert release];
}
}
Ich hoffe, ich kriege hier ein bisschen Hilfe. In anderen Foren wurde meine Frage nicht erhört.
Vielen Dank im voraus für eure Hilfe.
Freundliche Grüsse
Franhu