viewWithTag und addSubview
Ich versuche für die Wiederverwendung der Bezeichnung durch einen Aufruf viewWithTag, wenn ich drücken Sie die UIButton. Der code sieht ok, wenn es zum ersten mal ausgeführt wird, aber es ist undicht an der Ausführung mehrere Male durch die Linie 7? Auch ist es einfach besser zu entfernen Sie das Etikett von der superview, alloc und addSubview anstatt viewWithTag?
1. UILabel *label = (UILabel *)[self.view viewWithTag:100];
2. if(label == nil) {
3. label = [[[UILabel alloc] initWithFrame:CGRectMake(0, 0, 20, 20)] autorelease];
4. label.tag = 100;
5. }
6.
7. [self.view addSubview:label];
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verschieben Sie den code
[self.view addSubview:label];
in Ihremif
block. Wenn Ihre if-Bedingung falsch ist, das heißt, das label ist bereits Teil Ihrer viewcontroller die view-Hierarchie, also, wenn Sie fügen Sie es wieder so wie in deinem ursprünglichen code wird doppelt erhalten.Wenn Sie eine .xib-oder storyboard-nur die Verbindung mit einem IBOutlet.
Wenn Sie ' r mit code nur auf, speichern Sie es als eine private variable.