2012-04-12 3 views
1

Ich denke, ich bin ein wenig doof hier, aber ich frage mich, ob Sie etwas Licht in diese Sache bringen könnten.Erstellen eines UILabel, wenn es eine Eigenschaft ist

Ich habe eine Einzelansicht App mit einer Ansicht und einer Schaltfläche. In meiner Tastenaktion viewControllers möchte ich ein Etikett auf dem Bildschirm erstellen.

Wenn ich ein Etikett mit erstellen: UIlabel * label = [UIlabel alloc] initwithframe... Es funktioniert gut.

Allerdings, wenn ich meine ViewController eine Uilabel-Eigenschaft geben und dann versuchen, und erstellen Sie ein Etikett mit: self.mylabel = [UILabel alloc] initWithFrame... Wenn ich die Bezeichnung hinzufügen, wird es nicht angezeigt.

Ich weiß, es gibt andere Möglichkeiten, dies zu erreichen und alle, aber ich habe mich nur gefragt, warum das passiert, es sei denn, ich bin ein massiver Idiot, der ist !!!

Hat jemand irgendwelche Gedanken?

+3

geben Sie den vollständigen Code .. – Shubhank

+0

wo erstellen Sie die Bezeichnung? Wo fügst du das Label hinzu? Sie sollten nicht auf self.view zugreifen, während Sie in Ihrer Init-Methode sind. Verwenden Sie viewDidLoad oder loadView, um Ansichtselemente hinzuzufügen. – calimarkus

+0

Ich benutze die IBAction von meiner Taste. –

Antwort

3

Stellen Sie sicher, dass Sie es als Unteransicht zur viewController-Ansicht hinzufügen.

[self.view addSubview:label]

+0

Perfekte Antwort .. Sie müssen es als Unteransicht von self.view dann nur wird es erscheinen .. –

+0

Ich habe [self.view addSubView: self.myLabel]; –

+0

post voller Code-Schnipsel bitte – Damo

0

Aller Wahrscheinlichkeit nach an der Zeit, die Sie das Etikett zu Ihrer Ansicht Hinzufügen sind Ihr Etikett ist gleich Null. Wenn Sie sicher sind, dass Ihr Label mindestens korrekt zugeordnet ist, überprüfen Sie explizit, wie es in seiner @property-Deklaration beibehalten (oder nicht beibehalten) wird.

Zum Beispiel, wenn Sie es schwach deklariert haben, dann müssen Sie initialisieren und das Etikett im Geltungsbereich verwenden.

Setzen Sie einen Haltepunkt auf den Code, dem Sie die Beschriftung hinzufügen, um einen Hinweis darauf zu erhalten, was passiert.

+0

Prost wieder Damo! –