Anpassen von UIAlertView

8

Jeder hat Code, um dies zu machen:

UIAlertViewHack http://booleanmagic.com/uploads/UIAlertViewHack.png

oder noch besser, ein 3x2 Raster von Schaltflächen mit Bildern mit dem UIAlertView-Objekt?

Ich interessiere mich nicht für das Textfeld, es sind die Schaltflächen in einem Raster, das ich möchte (vorzugsweise mit Bildern anstatt mit Text).

    
Kevin L. 15.02.2009, 20:26
quelle

5 Antworten

27

Ich denke, Ihre beste Wette ist es, die Anpassung der UIAlert-Ansicht zu vergessen und selbst eine benutzerdefinierte Ansicht zu erstellen.

Zum einen ist das, was Sie zeigen, wirklich kein "Alarm", also widerspricht es dem, für was UIAlertView gedacht ist. Dies bedeutet, dass Sie das UI-Paradigma für den Benutzer ändern, was nie eine gute Idee ist.

Zweitens wäre es viel einfacher, eine benutzerdefinierte Ansicht an Ort und Stelle zu animieren als zu versuchen, UIAlertView zu hacken, um es dazu zu bringen, das zu tun, was Sie wollen.

    
August 16.02.2009 06:15
quelle
11

Zuerst müssen Sie die Alarmbox vergrößern, um Ihre Steuerelemente unterzubringen, aber sie muss in der Mitte platziert werden.

Dafür geben Sie statt der Rahmengröße den Nachrichtentext mit "\ n" s als Necc ein. z.B.:

%Vor%

Verwenden Sie dann ein UIAlertViewDelegate für die Alertview.

überschreibt seine, viewWillAppear: Fügen Sie Ihre Knöpfe hinzu und stellen Sie ihre Rahmen manuell an der gewünschten Position ein.

ODER: Erstellen Sie eine vollständige Ansicht mit einem View-Controller, und fügen Sie die Ansicht der Warnmeldung wie folgt hinzu:

%Vor%

Hoffe, dass dir das helfen wird:)

Ich benutze Alarmfelder für die Bewertung mit Sternbildern, Twitter, FB-Feedback usw.

UPDATE iOS7:

Erstellen Sie für iOS 7 eine eigene Ansicht mit Komponenten und legen Sie sie als Zubehöransicht des Alertview fest:

%Vor%

Das ist einfach: -)

    
Shaikh Sonny Aman 23.07.2009 06:21
quelle
6

In diesem Lernprogramm erfahren Sie, wie Sie UIAlertView von einer Unterklasse ableiten, um ein Eingabetextfeld zu erhalten . Es erklärt, wie man die Ansicht vergrößert, Unteransichten (wie Textfelder oder Bilder) hinzufügt und eine Transformation durchführt, um die Box auf dem Bildschirm höher zu bewegen.

    
Hauke 23.08.2009 15:53
quelle
6

Ich habe einen fast pixelgenauen UIAlertView-Ersatz geschrieben, der auch voll konfigurierbar ist. Schauen Sie sich CODialog an, wenn es Ihren Anforderungen entspricht.

    
Erik Aigner 13.04.2012 11:43
quelle
4

Dafür gibt es keine eingebauten Komponenten. UIAlertView sollte nur Text und Schaltflächen wie im HIG-Dokument haben.

Sie müssen Ihre eigene Ansicht erstellen und ihr Steuerelemente hinzufügen. Das HeadsUpUI-Beispiel im SDK zeigt, wie eine benutzerdefinierte menüähnliche Ansicht als Überlagerung angezeigt wird.

Ich hoffe, das hilft.

    
lostInTransit 16.02.2009 18:20
quelle

Tags und Links