2010-12-09 6 views
0

Ich bin ein Neuling in der iPhone Entwicklung und stoße jetzt auf ein Problem:Wie zeichnet das iPhone Controller?

Ich möchte einen kleinen Hotspot auf einem großen Bild hinzufügen und kam einfach auf die Idee, dass ich eine Schaltfläche in diesem Bereich Einstellung Alpha 0 hinzufügen kann um den Knopf zu verstecken. Leider reagiert das Telefon nicht mehr auf Ereignisse. Wenn ich stattdessen den Alphawert erhöhe, kann ich Klickereignisse ohne Probleme erhalten. Also frage ich mich, in welcher Reihenfolge das iPhone den Controller auf dem Bildschirm zeichnet. Liegt es daran, dass mein Hintergrundbild nach dem Button gezeichnet wird, wenn ich den Alpha-Button zu niedrig eingestellt habe, so dass das Click-Event vom Hintergrundbild abgefangen wird?

Alle Hinweise werden sehr geschätzt. Vielen Dank im Voraus!

Mit freundlichen Grüßen.

Antwort

1

Legen Sie den Stil der Schaltfläche auf Benutzerdefiniert fest; Der Button wird nicht gezeichnet, sollte aber voll aktiv bleiben.

+0

Danke Marcelo. Aber warum funktioniert das Einstellen des Alpha-Wertes nicht? –

+2

Da das UI-Framework unsichtbare Schaltflächen als inaktiv behandelt. Eine benutzerdefinierte Schaltfläche ist technisch nicht unsichtbar. Es zeichnet sich einfach nicht. Der Zweck von "Benutzerdefiniert" besteht darin, dass Sie ein Bild zuweisen oder "drawRect:" überschreiben können, d. H. Ihre eigene Zeichnung erstellen. Aber wenn Sie keine von beiden verwenden, erstellen Sie effektiv eine "sichtbare" Schaltfläche, die Sie nicht sehen können. –

1

Das Problem ist nicht die Reihenfolge, in der die Ansichten gezeichnet werden, es ist vielmehr, dass, wenn das Alpha einer Ansicht 0 ist, Touch-Ereignisse nicht empfangen werden. Es ist so, als ob die Aussicht gar nicht da ist.

aber Sie müssen das Alpha nicht auf 0 auf der UIButton setzen, Sie können es einfach zu einem benutzerdefinierten Button anstelle eines Rounded Rect-Buttons machen. es wird unsichtbar sein und immer noch funktionieren.

+0

Ich habe es diesmal wieder mit Alpha 0,01 versucht, es reagiert auch nicht. –

Verwandte Themen