Wie setzen Untersicht UIView dynamisch (iPhone)?
Ich bin sicherlich etwas völlig dumm hier, hoffentlich kann mir jemand sagen, was! Zusammenfassend würde ich mag, um programmgesteuert Umschalten eine Untersicht auf, wenn eine Taste (ich ' ll verwenden eine segmentierte button) geklickt wird. Es müssen nicht animieren. Idealerweise würde ich das laden der Inhalte dieser Ansichten aus einer Feder.
Drück ich mich ein UIViewController subclass, initialisiert von einer Feder, auf ein navigationController. Dieser view-controller & es ist "default" - Ansicht ok. Diese Feder enthält:
File's Owner [Class=my view controller subclass]
First Responder
View
--Bar Segmented Control
--View //this is the 'subview' whose content I want to toggle
Vielleicht habe ich einen Fehler gemacht, mit meinem IB-Shops? Sie hakte sich wie folgt:
switchableView <--> View
view <--> View
Und wo switchableView
erklärt:
IBOutlet UIView *switchableView;
...
@property (nonatomic, retain) UIView *switchableView;
Bin ich stecken beim ersetzen der Inhalte dieser UIView. First off, ich will einfach nur, um es zu einem Standard, wenn zuerst die Ansicht zum Leben. Einmal habe ich, tauschen es für etwas anderes sollte einfach sein, da ich schon eine capture-Ereignis generiert, indem die segmentierten Taste. Kann mir bitte jemand sagen was ich falsch mache?
- (void)loadView {
NSLog(@"loadView invoked");
[super loadView];
UIView *view = [[UIView alloc] init];
UILabel *label = [[UILabel alloc] init];
label.text = @"Segment1";
[view addSubview:label];
[switchableView addSubview:view]; //this is what I can't work out
[view release];
[label release];
}
Dass die Methode ist aufgerufen wird (wie viewDidLoad
), aber weder helfen. Ich denke, dass ich Tue [switchableView addSubview:view]
falsch. Ich habe auch versucht switchableView = view
, aber eine lange Zeit in der Sicherheit von Java-und Perl macht mir nicht 100% sicher, ob das richtig ist, zu versuchen oder nicht!
Hier ist der Hoffnung, jemand kann mich gerade. Vielen Dank im Voraus,
Paul
InformationsquelleAutor Paul J | 2009-07-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gelöst, das am Ende nach der Besichtigung der UICatalog Beispielcode (mit Dank an Sie beide, dass Sie mir einige Zeiger). Die folgenden Werke:
denen die folgenden sind auch als Eigenschaften (beibehalten, nonatomic)
InformationsquelleAutor Paul J
Hier sind einige Ausschnitte, um Ihnen zu helfen. Der erste ist einfach der Initialisierung für ein navigation-controller
Dann, wenn du bereit bist für eine neue Sicht, drücken Sie einfach auf es.
Sollten Sie wirklich gehen über etwa 5 Apple Beispiel-Projekte ein Tag, um wirklich fließend in die iPhone-Welt. Überprüfen Sie heraus diese für Vorspeisen: TableSearch.
InformationsquelleAutor TahoeWolverine
Ist die wahrscheinlichste Problem ist, dass Sie nicht die Einstellung der frame auf Ihre Ansichten, was bedeutet, dass Sie zwar erfolgreich befestigt, Sie sind in der Größe 0 x 0.
Probieren Sie etwas wie:
Ebenfalls entfernt Blick, denn es war grundlose (UILabel ist ein UIView, Sie waren stapeln drei Blick, 2 von denen haben nichts, aber eine einzelne Untersicht, die deckt den full-frame.) und es erstellte die UIViewController anzeigen-Eigenschaft (in der Regel ist es schlecht lokale Variablen mit den gleichen Namen als Instanzvariablen oder Eigenschaften, gibt es compiler-Warnungen, die Sie aktivieren können, um zu vermeiden, dass).
InformationsquelleAutor Louis Gerbarg
Wenn ich verstehe deine Frage richtig, Sie versuchen, zu tauschen einer Ansicht mit anderen. Eine Möglichkeit, dies zu erreichen, ist wie folgt:
Fügen Sie ein UIView der root-Ansicht mit dem Namen switchView. Entweder im code oder im Interface Builder erstellen, eine neue UIView namens subView1 und fügen Sie es als eine Unterklasse der switchView wenn der root-Ansicht geladen:
Wenn der Benutzer schaltet die segmentierten Kontrolle in der root-Ansicht, erstellen Sie eine neue UIView in ähnlicher Weise benannt subView2 und schalten Sie es mit der aktuellen Untersicht switchView:
InformationsquelleAutor titaniumdecoy