2009-08-21 5 views
0

Das ist schwierig. Ich habe einen kleinen Knopf über einem sehr großen. Wenn der kleine Knopf an diesem großen Knopf gedrückt wird, tut der kleine Knopf etwas. Aber der Große tut nichts. Na sicher. Aber jetzt möchte ich, dass der große Knopf auch etwas tut, egal ob der kleine Knopf angetippt wurde oder nicht. Der kleine Knopf muss also alle Berührungsereignisse an diesen großen Knopf weiterleiten. Was wäre der einfachste Weg?Wie kann ein UIControl alle Touch-Ereignisse passieren auf das nächste Objekt in der Responder-Kette?

Ich weiß, für UIView, aber UIControl die haben ihre ganz eigene Note Handhabung Methoden unterscheiden sich von denen von UIView. In UIView, die wie folgt aussehen etwas könnte:

[self.nextResponder touchesBegan:touches withEvent:event]; 

Antwort

0

möchten vielleicht einen Blick auf this post nehmen, die Art und Weise zeigt, zu synthetisieren Ereignisse berühren Es hörte jedoch für eine Weile auf zu arbeiten. Ich habe es gerade überarbeitet und es sieht so aus, als hätte er es für die 3.0-Unterstützung aktualisiert, damit es für dich funktioniert. Ein Vorbehalt ist, dass es für eine Versand-App möglicherweise nicht legitim ist.

Ein einfacherer Weg ist es, die Methode, die die Arbeit macht (wir nennen es bigButtonWork), auszubrechen, wenn der große Knopf angezapft und öffentlich gemacht wird. Dann ruft der Big-Button-Tap-Handler nur diese Routine auf. Wenn die kleine Taste angezapft wird können Sie in seinem Handler wählen ihre eigene Sache zu tun oder bigButtonWork stattdessen nennen.

Aber ich vermute, Sie wollen, dass es tatsächlich die große Taste simulieren geschoben zu werden (komplett mit Highlights und Zustandsänderungen), so können Sie das synthetisierte Ereignis Weg gehen müssen.

0

Sie ein Protokoll implementieren können, die große Schaltfläche Empfangen von Nachrichten von dem kleinen Knopf zu lassen, wenn das, was ich tun würde, haben die beiden Tasten in einem UIViewController ist, haben die kleine Taste sagen teh UIViewController, dass es angeklickt wurde (entweder durch Selektor oder Protokoll) und dann kann die UIViewController den großen Knopf entsprechend aktualisieren .... mehr auf Protokolle hier http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocProtocols.html

Verwandte Themen