UIButton, wie entfernen von UIView?
Ich habe eine Schaltfläche, und fügen Sie es auf einen Blick. Ich möchte hinzufügen eine Schaltfläche "fertig", um die UIKeyboardTypeNumberPad. Hier ist mein code.
UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeCustom];
doneButton.frame = CGRectMake(0, 163, 106, 53);
doneButton.adjustsImageWhenHighlighted = NO;
[doneButton setImage:[UIImage imageNamed:@"DoneUp.png"] forState:UIControlStateNormal];
[doneButton setImage:[UIImage imageNamed:@"DoneDown.png"] forState:UIControlStateHighlighted];
[doneButton addTarget:self action:@selector(doneButton:) forControlEvents:UIControlEventTouchUpInside];
//locate keyboard view
UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];
UIView* keyboard;
for(int i=0; i<[tempWindow.subviews count]; i++) {
keyboard = [tempWindow.subviews objectAtIndex:i];
//keyboard view found; add the custom button to it
if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)
[keyboard addSubview:doneButton];
}
Alles Super funktioniert, bis ich entfernen Sie die-Taste, wenn ich habe ein Kayboard der Typ NumbersAndPunctuation zum Beispiel.
Wenn ich auf die Schaltfläche klicke ich verwenden [(UIButton)*sender removeFromSuperview];
Speicherüberlauf zu verhindern.
Aber wie kann ich die entfernen Sie die Taste aus, die innerhalb einer anderen Funktion?
Vielen Dank!
Einige andere Leute, hab die Frage woanders, aber nicht erhalten eine Antwort. Ich bin sicher, dass Sie helfen kann 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Speichern Sie einen Verweis auf die-Taste, anstatt eine lokale variable. Zum Beispiel:
Header-Datei:
Umsetzung Datei:
Um es zu entfernen (vorausgesetzt, Sie befinden sich im selben Objekt:
Allerdings kann Apple nicht nehmen freundlich zu Ihnen, hinzufügen von Schaltflächen zu Ihrer Tastatur.
doneButton.removeFromSuperview()
können Sie erklären, Ihr Schaltfläche, Ihre .h-Datei, so dass Sie in der Lage, um den Zugriff von allen Klassen Methoden