2012-03-29 7 views
4

Ich mache einen Knopf über Code. I die folgende Code-Zeile habe, ein Verfahren zu triggern, wenn die Schaltfläche angeklickt wird:Wie übergibt @selector beim Klicken auf benutzerdefinierte Schaltflächen Daten?

[imagesButton addTarget:self action:@selector(photoClicked:) forControlEvents:UIControlEventTouchDown ]; 

Das Problem ist, dass ich keine Daten an das Verfahren durch den @selector passieren kann; Wenn die Schaltfläche den Hintergrundbildnamen "background.png" hatte, wie würde ich den Namen des Hintergrundbilds an die Methode senden, wenn auf die Schaltfläche geklickt wird? Das alles muss durch Code sein.

Danke!

-Shredder

Antwort

1

Nun, wenn Sie eine Eigenschaft der Schaltfläche, deren Änderungen sind versucht, die Nachricht zu senden, sollte Ihr Wähler einen Parameter sender haben, die einen Zeiger auf das Objekt, das sie genannt, das ist Ihr Knopf in diesem Fall. Zum Beispiel:

- (void)photoClicked:(id)sender { 
    UIImage bg = [sender currentBackgroundImage] 
} 
1

muss es eine Möglichkeit auf eine Antwort zu kommentieren, aber ich weiß nicht, was es ist. Wie auch immer, Gobot über mir vergaß (id) vor dem Absender in der Methodendeklaration zu schreiben. Ansonsten ist Gobots Beispiel in Ordnung.

Verwandte Themen