Frage

Hat jemand kein Glück hatte eine UIPicker im 3.2 SDK? Ich bin in der Mitte über auf ein iPad, ein iPhone Anwendung zu portieren und das ist das einzige, was ich nicht zur Arbeit zu bekommen scheinen. Ich habe versucht ...

ein Aktionsblatt -Erstellen, fügen Sie den Picker als Subview und Anzeigen es.

-Erstellen, dass die oben genannten Maßnahmen Blatt, es die Ansicht eines generischen Viewcontroller zu machen, fügte hinzu, dass VC zu einem UIPopover

-Wir machen nur den Picker die Ansicht eines generischen Viewcontroller, fügte hinzu, dass VC zu einem UIPopover

Mit der Aktion Blatt es nicht einmal, es zu zeichnen nicht versuchen. In der popover Ansicht versucht es aber nicht zu zeichnen nicht korrekt gerendert bekommen.

Ich wollte nur, um zu überprüfen, ob jemand dies erreicht und wenn ja, wie.

Danke an alle!

War es hilfreich?

Lösung

Ich bin der Autor des Tutorials oben erwähnt. Für einen Picker zur Arbeit in einem popover und fügen Sie den ausgewählten Wert in das Textfeld in der Hauptansicht Sie müssen Protokolle verwenden. Ich habe ein Beispielprojekt zu zeigen, diese erstellt. Ich werde ein Tutorial auf dieser bald zu schaffen.

Beispielprojekt

Andere Tipps

Ich habe gerade mit diesem rang nach etwa 24 Stunden und bekam sie Arbeit dieses Tutorial folgenden und wo er seine UITableView erwähnt, man denke nur an Ihre UIPickerView und die entsprechende Informationen ersetzen.

Matthew Casey - Tutorial: Einführung in die Pop über die Kontrolle auf dem iPad

Kurz gesagt, auf dem iPad, der einzige Weg, können Sie zeigen ein Kommissionierer in einer popover Kontrolle. Gemeinsame Nutzung von Daten zwischen dem Inhalt anzeigen Controllers popover (View-Controller der Picker-Ansicht) und dem View-Controller Haupt App ist das Bit ich nicht herausfinden konnte. (Das heißt die „didSelectRow“ Methode des Picker immer ein Objekt in der Hauptansicht-Controller zu beeinflussen, sagen eine UITextField oder UIButton.) Das durch das Erstellen eines benutzerdefinierten Protokoll abgewickelt wird, um die „didSelectRow“ Methode der Hauptansicht-Controller zu übermitteln.

Ich bin keineswegs ein Experte auf diesem Zeug, so dass ich Schritt für Schritt ging mit diesem Tutorial und es ging am Ende. Bevor ich dieses tutorial war ich verloren. (Ich bin auch eine iPhone App auf iPad Portierung über.)

Wenn Sie zum Austausch von Daten zwischen View-Controller wollen ... die Lösung ist der NSNotificationCenter.

Ich weiß, dass dies nicht die Frage ganz beantwortet, aber wenn ich zwischen View-Controller auf Daten austauschen möchten: In der Sende View-Controller

NSMutableDictionary *toshare = [[NSMutabledictionary alloc] init];
[toshare setValue:valueToShare forKey:@"shared"];
[[NSNotificationCenter defaultCenter] postNotificationName:@"imSharing" withObject:nil userInfo:(NSDictionary *)toshare];

In dem Empfangs-View-Controller: Platz in der viewDidLoad

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(imSharing:) name:@"imSharing" object:nil];

fügen Sie dann diese Funktion:

-(void)imSharing:(NSNotification *)notification {
      NSDictionary *dictionary = [notification userInfo]; 
        //do something with [dictionary objectForKey:@"shared"];
        dictionary = nil;
}

Dies funktioniert, um Daten zwischen zwei View-Controller teilen ... na ja, kleine Datenmengen sowieso.

suchen Ansonsten hier für weitere Informationen zum Daten zwischen Ansicht teilen Controller

Sind Sie mit Interface Builder? Es ist viel einfacher, eine neue UIViewController Unterklasse in Xcode mit der NIB-Datei zu erstellen, und dann ziehen Sie im UIPicker. Dann müssen Sie den View-Controller in einem popover präsentieren. Action-Blätter sind nicht zu haben Subviews entworfen, also nicht das tun.

Ich habe es getan: siehe die dritte Screenshot in C64 Farbe

.

Danke für die Antworten jeder. So, während ich kann nicht sagen, was das ursprüngliche Problem war, begann ich das Problem von Grund auf und bekam es an die Arbeit. Ich habe völlig neuen View-Controller und stellte sie in einem Popover und es hat gut funktioniert. Scheint eine der härteren Punkte zu sein, ein Universal-App zu machen.

Die UIPickerView wird funktionieren, wenn Sie es auf dem iPad erstellen, wenn Sie schaffen es gerne so:

UIPickerView* pickerView = [[UIPickerView alloc]initWithFrame: CGRectMake (someX, someY, 320, 216)];

Einige andere Größen zur Arbeit erscheinen. Aber CGRectZero nicht funktioniert auf dem iPad -. Obwohl es funktioniert in der iPhone

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top