iOS Wie zu entlassen uialertview-Objekt mit einem Tippen irgendwo?
Ich soll entlassen uialertview-Objekt auf eine beliebige Stelle außerhalb Sie mit einem Fingertipp. Ich will zeigen, ein uialertview-Objekt, ohne dass eine Taste.
Habe ich standard uialertview-Objekt-codes hier, aber ich brauche input, wie um Sie zu schließen, wenn es möglich ist.
Mit UITouch? Mit UITapGestureRecognizer?
Danke.
EDIT:
in viewDidLoad
alertview Initialisierung hier mit dem Namen "alert"
if (alert)
{
emptyview = [[UIView alloc]initWithFrame:CGRectMake(0,0,320,480)];
emptyview.backgroundColor = [UIColor clearColor];
[self.view addSubview:emptyview];
[emptyview addSubview:alert];
NSLog (@"emptyview is there!");
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
[emptyview addGestureRecognizer:singleTap];
[singleTap release];
}
Aber das emptyview nicht nicht auf und es reagiert nicht auf handleSingleTap Auswahl, die ich schrieb ein wenig:
-(void)handleSingleTap:(UITapGestureRecognizer *)sender{
[alert dismissWithClickedButtonIndex:0 animated:YES];
[emptyview removeFromSuperview];
}
Ich brauche diese emptyview wird bei Alarm bei Alarm wird angezeigt, dann kann ich entlassen alert mit nur einmal Tippen.
Habe ich versucht:
if (alert)
{
emptyview = [[UIView alloc]initWithFrame:CGRectMake(0,0,320,480)];
emptyview.backgroundColor = [UIColor clearColor];
[self.view addSubview:emptyview];
[emptyview addSubview:alert];
NSLog (@"emptyview is there!");
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
[alert addGestureRecognizer:singleTap];
[singleTap release];
}
Natürlich Alarm nicht reagiert haben, um handleSingleTap Funktion. Was habe ich falsch emptyview?
ZWEITER EDIT:
Was ich erreichen möchte, in diesem Fall ist zu zeigen eine kleine übersicht mit Erklärungen nach der Wahl eine word-ähnliche Funktion in der Kindle-app, wenn Sie eine haben.
Vielleicht sollte ich erstellen Sie einen UIView statt uialertview-Objekt? Aber die kleine anzeigen im Kindle-app ist so schön, mit dem Schatten unter ihm, wie es möglich ist?
InformationsquelleAutor wagashi | 2011-11-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es klingt wie Sie im wesentlichen versuchen, neu zu erstellen ein "Toast" auf iOS. Gute Nachricht, jemand hat das schon getan. Finden Sie dieses Projekt.
Edit: nicht verwenden möchten, iToast. Ich mag Ihren Stil, weniger code ist es. Hier ist, was ich mit kommen. Es scheint offensichtlich, wie andere gesagt haben, dass der einzige Weg zur überwindung der modalen Natur des
UIAlertView
ist, um eine superview zu handhaben touch-Ereignisse. Aber Sie nicht haben, um dies manuell tun, jedes mal, sollten UnterklassenUIAlertView
. Probieren Sie etwas wie dieses:Edit: @wagashi, vielen Dank für die Annahme meiner Antwort, und vielen Dank für das heads-up über
setFrame:
ein guter Ort, um die Größe anzupassen. Dein code macht einen sehr toast-wie wenig aufmerksam, aber wenn ich es versuchte ich fand, dass, wenn die Nachricht war zu lang, der Blick schien auseinander zu fallen. So habe ich geändertsetFrame:
einfach verringern die Größe der Warnung, indem Sie etwa die Größe einer Schaltfläche, und zentriert zu bleiben auf dem Bildschirm. So, dass die Klasse genau die Frage beantwortet Titel "iOS, Wie zu entlassen uialertview-Objekt mit einem Tippen irgendwo?"NoButtonAlertView.h
NoButtonAlertView.m
Mit diesem einfachen
UIAlertView
Unterklasse und seineUIView
Unterklasse für ein cover, können Sie es verwenden, so einfach als würden Sie eine standard -UIAlertView
. Etwa so:Ausbeute:
das war unendlich hilfreich!!! Ich Hinzugefügt .m: - (void)setFrame:(CGRect)rect { //[super setFrame:CGRectMake(0, 0, rect.Größe.Breite, 300)]; [super setFrame:CGRectMake(0, 0, 100, 100)]; //code unten uialertview-Objekt zentriert. //selbst.center = CGPointMake(320/2, 480/2); //my custom cgpointmake selbst.center = CGPointMake(200, 400); }`
Ja, du hast meine Frage beantworten. Aber ich werde nicht zu viel Informationen in meinem "alert", so CGRectMake 0,0,100,100 ist einfach perfekt, in meinem Fall. Ich Frage mich, ob es möglich ist, schriftart ändern Größe von text innerhalb uialertview-Objekt?
und deine andere Lösung zu CGRectMake ist auch hilfreich, danke wieder.
Warnung anzeigen, scheint nicht abgetan werden mit ios 7 🙁
InformationsquelleAutor NJones
Nach Anzeige der uialertview-Objekt hinzufügen, um Ihre view-controller (oder auch Fenster) neue leere UIView mit voller Bildschirm-Größe. Befestigen Sie zu diesem wiew UITapGestureRecognizer
Nun in
handleSingleTap
Methode, die Sie schließen können, uialertview-Objekt, und entfernen Sie diese Ansicht aus dem FensterJa, gute Idee. Es spart aus und schreibt mehrere Zeilen code. In jedem Fall müssen Sie behandeln Tippen Sie auf Aktion.
Aus Neugier, warum verwenden Sie ein
UIAlertView
überhaupt? Setzen Sie ein VollbildUIButton
vor allen anderen Ansichten mit dem, was text und hintergrund Farbe w/ alpha, die Sie mögen (oder Züchter).Das ist eine gute Idee. Aber ich denke, ich denke, nicht sehr logisch, siehe mein edit.
Das ist auch eine gute Idee. Ich bin ein bisschen weit mehr, als neuen Anfänger. Siehe mein zweites edit für das, was ich erreichen will.
InformationsquelleAutor beryllium