Hierarchie von Views programmatisch verändern

G

GENETIC4

Mitglied
Thread Starter
Dabei seit
01.08.2013
Beiträge
47
Reaktionspunkte
0
Abend. :)

Ich habe mal wieder 2 Fragen... Für euch wahrscheinlich wieder sehr simpel. :D

1. In meinem Code wird im später programmatisch eine View erzeugt... Wie schaffe ich es, dass diese View die höchste in der Hierarchie ist? Sprich sie soll die anderen überlappen.



2. Ich habe in meiner ersten Klasse (RNFirstViewController) eine Property namens "data". Sie wird im .h file wie folgt deklariert:

Code:
@property (nonatomic) NSString * data;

Im .m file bekommt sie dann einen Wert zugewiesen...

Meine zweite Klasse heißt RNSecondViewController.

Dann importiere ich das .h file der 1. Klasse ins m. file der 2. Klasse:

Code:
#import "RNFirstViewController"

Außerdem erstelle ich eine Instanz der 1. Klasse:

Code:
RNFirstViewController * firstViewController = [[RNFirstViewController alloc] init];

Wenn ich das dann aber via NSLog ausgeben möchte klappt das nicht... :

Code:
NSLog (@"%@", firstViewController.data);

... warum??? (Es werden keine Fehler angezeigt)


Euch eine angenehmen Abend.

P.S.: Danke, dass ihr mir immer so kompetent und zuverlässig helf.

LG GENETIC4
 
Abend. :)

1. Wie schaffe ich es, dass diese View die höchste in der Hierarchie ist? Sprich sie soll die anderen überlappen.

Siehe UIView Referenz. Dafür gibt es die Methode "bringSubviewToFront:"


Zu 2.)
Außerdem erstelle ich eine Instanz der 1. Klasse:

Code:
RNFirstViewController * firstViewController = [[RNFirstViewController alloc] init];

Das ist das Problem. Du erstellst eine 2. Instanz der Klasse. Die View Controller sind nicht identisch, sondern nur vom gleichen Typ. Das ist wie, wenn du in den Wald gehst, in die erste Eiche deine Initialien ritzt und dann am anderen Ende des Waldes fragst, wieso in dieser (anderen) Eiche nicht deine Initialien drin sind. Du musst dem 2. View Controller sagen, wo genau im Speicher der erste liegt, sonst kann er natürlich nicht von dessen Existenz wissen. Das Thema hatten wir hier aber auch schon mal die Tage: https://www.macuser.de/forum/thema/...-TextField-und-Label-in-verschiedenen-Klassen

Quintessenz ist, dass der RNSecondViewController eine Variable vom Typ des ersten VCs braucht, die du dann so oder so ähnlich belegen musst
Code:
[mySecondVC setFirstVC:myFirstVC]

Gruß Jörg
 
Super danke. :)
 
Zurück
Oben Unten