Wie kann ich den programmgesteuerten Zugriff auf UI-Elemente in einer NIB-ohne "Verdrahtung" Sie?

Ich bin der Betrachtung schriftlich einige Hilfsfunktionen, um es einfacher zu machen einfache änderungen an der UI-Elemente in mein iPhone NIB. Vor allem - ich möchte den Zugriff auf ein UILabel, oder einem anderen element, über dessen Namen im Interface Builder. Ist das möglich? Ist es ein intelligenter Ansatz?

Beispiel

Sagen, ich will eine super-einfache iPhone-app, die zeigt 'Hello World'. Ich starte ein neues Projekt und öffnen Sie dann die Spitze ein und ziehen Sie ein UILabel in meiner Ansicht, und geben Sie ihm einen 'Namen' von 'LblMain'. Nun, angenommen, ich habe meine praktische Helfer-Funktion, ich möchte zu vergeben das label neuen text so etwas wie dieses:

[helper setText:@"Hello World" forLabel:@"LblMain"];

-oder-

UILabel *ObjTmp = [helper getUILabel:@"LblMain"];
ObjTemp.text = @"Hello World";

Nun - der trick ist, dass ich nicht hinzufügen:

IBoutlet UILabel *ObjLblMain;

überall in .h-Datei - ich bin nur der Zugriff auf das label dynamisch - wäre das nicht schön?!

Nun, für einfache apps, um ein paar mehr Beschriftungen oder Bilder, ich konnte ziehen Sie Sie in meine Feder, vergeben Sie die Namen in das element-Inspektor-Fenster, und dann sofort Zugriff auf diese innerhalb von code ohne Stottern & Streit der du Sie in die .h-Datei.

Motivation

  • Im Grunde bin ich frustriert, dass ich auf Draht jedes element in meine Feder - es ist eine Menge von Stottern und Buchhaltung, die ich lieber vermeiden.
  • Ich könnte Ihnen ein design, einige Namenskonventionen, und Sie könnten erzeugen eine Feder, ohne Intim zu sein mit der Umsetzung.
  • 8 Monate später, habe ich beschlossen zu Graben, ein wenig. Dies ist nicht eine komplette Lösung, aber wenn Sie auf ein Objekt, dass Sie als barrierefrei gekennzeichnet sind, können Sie Lesen Sie das Etikett über "[lbl accessibilityLabel];" Es könnte ein Anfang für jemand.
Schreibe einen Kommentar