Frage

Ich versuche, vom unteren Rand des Bildschirms ein UIPickerView Folie zu haben (über die Oberseite eines Tab-Leiste), aber kann nicht scheinen, um es zu bekommen bis zu zeigen. Der eigentliche Code für die Animation kommt von einem Apple-Beispielcode Projekte (DateCell). Ich rufe den Code aus den ersten View-Controller (FirstViewController.m) unter der Tab-Leiste Controller.

- (IBAction)showModePicker:(id)sender {
if (self.modePicker.superview == nil) {
    [self.view.window addSubview:self.modePicker];

    // size up the picker view to our screen and compute the start/end frame origin for our slide up animation
    //
    // compute the start frame
    CGRect screenRect = [[UIScreen mainScreen] applicationFrame];
    CGSize pickerSize = [self.modePicker sizeThatFits:CGSizeZero];
    CGRect startRect = CGRectMake(0.0, screenRect.origin.y + screenRect.size.height, pickerSize.width, pickerSize.height);
    self.modePicker.frame = startRect;

    // compute the end frame
    CGRect pickerRect = CGRectMake(0.0, screenRect.origin.y + screenRect.size.height - pickerSize.height, pickerSize.width, pickerSize.height);

    // start the slide up animation
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.3];

    // we need to perform some post operations after the animation is complete
    [UIView setAnimationDelegate:self];

    self.modePicker.frame = pickerRect;

    // shrink the vertical size to make room for the picker
    CGRect newFrame = self.view.frame;
    newFrame.size.height -= self.modePicker.frame.size.height;
    self.view.frame = newFrame;
    [UIView commitAnimations];

    // add the "Done" button to the nav bar
    self.navigationItem.rightBarButtonItem = self.doneButton;
}}

Wenn Sie diese Aktion Feuer über eine UIBarButtonItem, dass Leben in einem UINavigationBar (die alle unter dem FirstViewController ist) nichts passiert. Kann jemand bitte bieten einige Ratschläge?

War es hilfreich?

Lösung

Stellt sich heraus, ich verpasst hatte die sehr wichtige Tatsache, dass die UIPickerView hatte im Interface Builder als auch definiert ... danach tun und den Auslass alles Anschließen funktioniert!

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