Wie kann ich mit StoryBoard einen UIDatePicker in einem Popover auf dem iPad anzeigen?

Ich habe es geschafft, den Datepicker im Popover anzuzeigen, und zwar programmgesteuert, wie in gezeigtUIDatePicker in UIPopover.

Aber ich habe versucht, dies in Interface Builder zu tun. Ich habe bereits einen View Controller mit dem Namen DatePickerViewController.m mit einem DatePicker und dem zugehörigen IBoulet erstellt

#import <UIKit/UIKit.h>

@interface DatePickerViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIDatePicker *birthdayDatePicker;

@end

Dann muss dies in einem Popover angezeigt werden, wenn das Textfeld Geburtstag bearbeitet wird. Also benutze ich den folgenden Code

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
    //Assign DatePicker to Birthday TextField
    //build our custom popover view
    DatePickerViewController* popoverContent = [[DatePickerViewController alloc] init];
    //resize the popover view shown
    //in the current view to the view's size
    popoverContent.contentSizeForViewInPopover = CGSizeMake(320, 216);

    // dismiss existing popover
    if (self.popoverControllerBirthday)
    {
        [self.popoverControllerBirthday dismissPopoverAnimated:NO];
        self.popoverControllerBirthday = nil;
    }

    //create a popover controller with my DatePickerViewController in it
    UIPopoverController *popoverControllerForDate = [[UIPopoverController alloc] initWithContentViewController:popoverContent];
    //Set the delegate to self to receive the data of the Datepicker in the popover
    popoverControllerForDate.delegate = self;
    //Adjust the popover Frame to appear where I want
    CGRect myFrame =textField.frame;
    myFrame.origin.x = 260;
    myFrame.origin.y = 320;

    //Present the popover
    [popoverControllerForDate presentPopoverFromRect:myFrame 
                                          inView:self.view 
                        permittedArrowDirections:UIPopoverArrowDirectionDown 
                                        animated:YES];
    self.popoverControllerBirthday = popoverControllerForDate;
    return NO; // tells the textfield not to start its own editing process (ie show the keyboard)

}

Außerdem importiere ich den benutzerdefinierten DatePickerViewController in meinen aktuellen ViewController

#import "DatePickerViewController.h"

Es wird jedoch nicht der Datumsmesser im Popover angezeigt.

Weiß jemand, was passieren könnte?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage